set集合排序

    是的!不仅list是有序集合,set也可以变为有序集合。

    废话少说,先上代码!

	/**
	 * 给字符串时间的set排序
	 * @return 有序的set集合
	 */
	public static Set getSort(){

		Set<String> st = new TreeSet<String>(new Comparator()
		{
			public int compare(Object o1, Object o2) {
				String time1 = o1.toString();
				String time2 = o2.toString();
				if (DataFormat.stringToMillss(time1) > DataFormat.stringToMillss(time2))
				  {
				   return 1;
				  }
				  else if (DataFormat.stringToMillss(time1) == DataFormat.stringToMillss(time2))
				  {
				   return 0;
				  }
				  else
				  {
				   return -1;
				  }
			}
			
		});
		
		return st;
	
	}
    然后把你需要排序的set放入到以上方法返回的set中:
   
  //获取一个有序的set集合
		Set<String> st = getSort();
		
		//将分组后返回的每条时间记录放入到有序的set集合中
		st.addAll(partdoMap.keySet());

    partdoMap.keySet()就是一个无序的set集合。

    partdoMap.keySet()我是放的时间字符串,然后进行排序。大家其实看到了,compare()中两个参数都是object的类型,所以其他类型数据也可以排序,请大家可以举一反三。

   DataFormat.stringToMillss( )

    此方法是本人写的一个将时间字符串转为毫秒数的方法,与本DEMO无关。

    欢迎大家留言!


你可能感兴趣的:(数据,set,有序集合)