Java實現(xiàn)按照大小寫字母順序排序的方法
本文實例講述了Java實現(xiàn)按照大小寫字母順序排序的方法。分享給大家供大家參考,具體如下:
這里排序需要得到的結(jié)果按字母順序。如:a-----z...
import java.util.*;
/**
* 大小寫字母的排序
* @author Administrator
*
*/
public class z {
//上邊是按大寫在后的進行排序
static Map<Character,Float> map=new HashMap<Character,Float>();//hashMap允許null值
//按大寫在前的進行排序
static Map<Character,Float> map1=new HashMap<Character,Float>();//hashMap允許null值
//
static{
Character ch;
for (ch = 65; ch < 91; ch++) {//大寫65.0;66.0;67.0;68.0
map.put(ch,(float)ch.hashCode());
}
for (ch = 97; ch < 123; ch++) {//小寫64.5;65.5
map.put(ch,(float)ch.hashCode()-(float)32-0.5f);
}
for (ch= 65; ch < 91; ch++) {//大寫65.0;66.0;67.0;68.0
map.put(ch, (float)ch.hashCode());
}
for (ch = 97; ch < 123; ch++) {//小寫64.5;65.5
map.put(ch, (float)ch.hashCode()-(float)32+0.5f);
}
}
/**
* @first 大寫在后的數(shù)組值在map中找 value的值
* @second 通過Collections的排序方法得到遞增數(shù)List
* @third 反操作map得到char值
* @param ar要排序的數(shù)組
*/
public List addList(char[] ar){
List list =new java.util.ArrayList();
for (int i = 0; i < ar.length; i++) {
list.add(map.get(ar[i]));
}
List lis=new ArrayList();
Collections.sort(list);
Iterator it=list.iterator();
while(it.hasNext()){
String str=it.next().toString();
if(str.endsWith(".0")){
lis.add((char)Float.parseFloat(str));
}else{
lis.add((char)(Float.parseFloat(str)+0.5+32));
}
}
return lis;
}
/**
* 大寫在前的數(shù)組值在map中找value的值
* @param ar
* @return
*/
public List addList1(char[] ar){
List list=new java.util.ArrayList();
for (int i = 0; i < ar.length; i++) {
list.add(map.get(ar[i]));
}
List lis=new ArrayList();
Iterator it=list.iterator();
while(it.hasNext()){
String str=it.next().toString();
if(str.endsWith(".0")){
lis.add((char)Float.parseFloat(str));
}else{
lis.add((char)(Float.parseFloat(str)+0.5-32));
}
}
return lis;
}
public static void main(String []args){
System.out.println("腳本之家測試結(jié)果:");
char ch [] ={'A','a','b','f','m','K'};
List list=new z().addList(ch);
Iterator it=list.iterator();
while(it.hasNext()){
System.out.println(it.next()+",");
}
}
}
運行結(jié)果:

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Java實現(xiàn)Random隨機數(shù)生成雙色球號碼
使用Random類是Java中用于生成隨機數(shù)的標(biāo)準(zhǔn)類,本文主要介紹了Java實現(xiàn)Random隨機數(shù)生成雙色球號碼,具有一定的參考價值,感興趣的可以了解一下2023-11-11
Mybatisplus多表關(guān)聯(lián)分頁查詢多種實現(xiàn)方式
本文主要介紹了Mybatisplus多表關(guān)聯(lián)分頁查詢多種實現(xiàn)方式,包括使用XML自定義SQL、Wrapper搭配自定義SQL、使用DTO與自定義SQL及結(jié)合PageHelper實現(xiàn)分頁查詢,感興趣的可以了解一下2025-03-03
Hibernate三種狀態(tài)和Session常用的方法
本文主要介紹了Hibernate三種狀態(tài)和Session常用的方法,具有很好的參考價值,下面跟著小編一起來看下吧2017-03-03

