⑴ 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做了优化,效率高了很多,而且使用也变方便了。