`
BestUpon
  • 浏览: 284329 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
社区版块
存档分类
最新评论

Java中将List分组到Map中算法(可用于android联系人拼音分组)

阅读更多

 

public class Data {

	private static String temps = "新华网北京12月5日电(记者 赖臻)记者5日从北京市总工会获悉,外地来京建筑施工企业的工会负责人需要考取劳动争议调解员资格证书,此举旨在从源头上帮助农民工树立正确的维权导向,引导他们通过正确途径解决问题。据悉,首期考试培训班已经开课,来自四川、浙江等地建筑施工企业的500余名工会负责人参加了学习。培训班将结合典型劳动争议调解案例,围绕《劳动争议调解仲裁法》《劳动合同法》中的重点内容,以及在实施中可能遇到的热点、难点问题进行讲解。北京市总工会相关负责人表示,希望基层的工会负责人能够成为劳动争议事件的第一知情人、第一报告人和第一督促解决人。今后所在企业一旦出现劳动争议,调解员需最大限度地保护企业与职工的合法权益,维护社会稳定和谐。";

	private static Map<String, List<String>> datas = new HashMap<String, List<String>>();

	private static final char[] alphatable = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
			'#' };

	public static List<String> getData(List<String> listTag) {

		for (Character c : alphatable) {
			datas.put("" + c, new ArrayList<String>());
		}

		List<String> data = new ArrayList<String>();
		for (int i = 0; i < temps.length();) {
			data.add(GB2Acronym.getAcronymFrist(temps.charAt(i) + "") + (i++));
		}
		Collections.sort(data);

		processData(data);
		List<String> results = new ArrayList<String>();

		for (String key : datas.keySet()) {
			if (datas.get(key).size() != 0) {
				results.add(key);
				listTag.add(key);
				results.addAll(datas.get(key));
			}
		}

		return results;
	}

	private static void processData(List<String> data) {
		for (String str : data) {
			String key = str.charAt(0) + "";
			if (datas.containsKey(key)) {
				datas.get(key).add(str);
			}
		}
	}

}

 实现的功能:将List排序之后,在List中按照分组增加分组标签,大多用于联系人按照拼音分组

分享到:
评论
1 楼 zhuqiang5138 2011-12-20  
GB2Acronym 这个是哪边来的啊

相关推荐

Global site tag (gtag.js) - Google Analytics