⑴ android中怎麼把list中內容按a-z排序
PinyinComparator介面用來對ListView中的數據根據A-Z進行排序,前面兩個if判斷主要是將不是以漢字開頭的數據放在後面
package com.example.sortlistview;
import java.util.Comparator;
/**
*
* @author xiaanming
*
*/
public class PinyinComparator implements Comparator<SortModel> {
public int compare(SortModel o1, SortModel o2) {
//這里主要是用來對ListView裡面的數據根據ABCDEFG...來排序
if (o2.getSortLetters().equals("#")) {
return -1;
} else if (o1.getSortLetters().equals("#")) {
return 1;
} else {
return o1.getSortLetters().compareTo(o2.getSortLetters());
}
}
}
⑵ 求Java教程,誰有Java視頻教程
【JAVA】達內2015Java教程網路網盤免費資源在線學習
鏈接: https://pan..com/s/1CRR1h30gDbSyalowSMqgCQ
【JAVA】達內2015Java教程 視頻+筆記+教材+代碼 視頻 教科書 畢業設計和項目 TTS8.0課件+課後練習+代碼 達內代碼.rar 筆記.rar 每周一測 12.spring 11.hibernate 10.struts 09.servlet 08.ajax_jquery 07.HTML
⑶ android map是怎麼排序
java中的Map是個key-valus形式存儲的健值對介面。Map是個介面,因此不能實例化,不同的子類有不同的實現方式。
HashMap 無序的,通過hash演算法來(散列存儲)。
Hashtable 無序的,通過hash演算法來(散列存儲),與HashMap不同的是Hashtable 是同步的(線程安全的)。
LinkedHashMap 有序的,通過雙向鏈表來存儲數據。
TreeMap 排序的,通過Key來排序,排序規則會調用key的compareTo方法來計算。
⑷ java TreeSet 倒序是怎麼實現的
TreeSet是一個有序的集合。
第一:構造、增加、遍歷、刪除和判斷是否包含某個元素同HashSet是一致的。、
第二:證明TreeSet是一個有序的集合。
TreeSet hashSet = new TreeSet();
hashSet.add("a"); //向集合中添加一個字元串
hashSet.add("e");
hashSet.add("b");
hashSet.add("d");
hashSet.add("c");
Iterator it = hashSet.iterator();
while(it.hasNext()){
System.out.println(it.next()+",");
}
輸出結果是:
a,
b,
c,
d,
e,
注意:(1)從結果中可以看出元素被排序了,但是這個用默認的排序方法。如何自定義排序呢?可以實現Comparator介面來自定義排序。例如:
import java.util.Comparator;
import ws.wph.android.util.StringUtils;
public class MyCmp implements Comparator {
public int compare(Object element1, Object element2) {
int x = element2.toString().compareTo(element1.toString());
return x;
}
}
然後將該類的對象作為TreeSet構造方法的實參,即TreeSet hashSet = new TreeSet(new
MyCmp());。原理是:向TreeSet增加元素時,自動調用MyCmp類的compare(Object element1, Object
element2)方法,根據方法返回值決定element1和element2的順序。(此時的輸出結果是:e,
d,
c,
b,
a,)
(2)當element1 == element2時返回0,element1 > element2 返回正數,element1 < element2返回負數。
第三:按照學生成績排序,當成績相同時按照學號排序
public int compare(Object element1, Object element2) {
int x=0;
Stuendt s1 = (Stuendt)element1;
Stuendt s2 = (Stuendt)element2;
if(s1.getScore() > s2.getScore()){
x=-1;
}else if(s1.getScore() < s2.getScore()){
x=1;
}else{
x = s1.getSno().compareTo(s2.getSno());
}
return x;
}
(3)將漢字轉換成拼音
public static String getPingYin(String src){
char[] t1 = null;
t1=src.toCharArray();
String[] t2 = new String[t1.length];
HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);
String t4="";
int t0=t1.length;
try {
for (int i=0;i<t0;i++)
{
//判斷是否為漢字字元
if(java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+"))
{
t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
t4+=t2[0];
}
else
t4+=java.lang.Character.toString(t1[i]).toLowerCase();
}
return t4;
}catch ( e1) {
e1.printStackTrace();
}
return t4;
}
但是需要導入一個包
⑸ 為什麼說android使用enum效率低,浪費方法數
現在不會了,新版本JDK做了優化,效率高了很多,而且使用也變方便了。