Swing中根据联系人的首字母对联系人进行分组,实现思想和步骤如下:
1 得到联系人姓名的首字母
如何取得字符串的首字母网上有大牛们写好的类。
2 如何保存联系人姓名中出现的首字母和对应的联系人,当然是Map<key,value>
3 Map是无序的,遍历联系人之前先对key排序
4 展示联系人,双层for循环,外层展示key,内层展示key对应的List<Contact>
5 效果
[img]http://dl.iteye.com/upload/picture/pic/85047/773bb22f-860f-3acf-a538-f4b8b333670a.png[/img]
1 得到联系人姓名的首字母
如何取得字符串的首字母网上有大牛们写好的类。
2 如何保存联系人姓名中出现的首字母和对应的联系人,当然是Map<key,value>
Map<String, List<Contact>> conetactMap
if (!conetactMap.containsKey(nameFirstChar)) {
conetactGroup = new ArrayList<Contact>();
conetactGroup.add(contact);
conetactMap.put(nameFirstChar, conetactGroup);
} else {
conetactMap.get(nameFirstChar).add(contact);
}
3 Map是无序的,遍历联系人之前先对key排序
Object[] keys = mapConetact.keySet().toArray();
Arrays.sort(keys);
4 展示联系人,双层for循环,外层展示key,内层展示key对应的List<Contact>
5 效果
[img]http://dl.iteye.com/upload/picture/pic/85047/773bb22f-860f-3acf-a538-f4b8b333670a.png[/img]