一、利用TreeMap做排序,代码如下:
java.util.SortedMap<Double, scala.Tuple2<String,String>> topN = new java.util.TreeMap<Double, scala.Tuple2<String,String>>();
topN.put(-0.223,new scala.Tuple2<String,String>("1","1"));
topN.put(-0.5239,new scala.Tuple2<String,String>("2","1"));
topN.put(-0.323,new scala.Tuple2<String,String>("3","1"));
topN.put(-0.423,new scala.Tuple2<String,String>("4","1"));
topN.put(-0.523,new scala.Tuple2<String,String>("5","1"));
topN.put(-0.623,new scala.Tuple2<String,String>("6","1"));
for (Map.Entry<Double, scala.Tuple2<String,String>> entry : topN.entrySet()) {
System.out.println(entry.getValue()._1);
}
结果发现,排序输出没有问题,都是从小到大输出;但是如果存在排序值相同的数据时,就会出现数据覆盖。
二、利用Collections.sort 做排序,则不会出现map中的覆盖问题,代码如下:
List<Tuple2<Double,Tuple2<String,String>>> listA = new ArrayList<Tuple2<Double,Tuple2<String,String>>>();
listA.add(new Tuple2<Double,Tuple2<String,String>>(-0.223,new scala.Tuple2<String,String>("1","1")));
listA.add(new Tuple2<Double,Tuple2<String,String>>(-0.5239,new scala.Tuple2<String,String>("2","1")));
listA.add(new Tuple2<Double,Tuple2<String,String>>(-0.323,new scala.Tuple2<String,String>("3","1")));
listA.add(new Tuple2<Double,Tuple2<String,String>>(-0.423,new scala.Tuple2<String,String>("4","1")));
listA.add(new Tuple2<Double,Tuple2<String,String>>(-0.523,new scala.Tuple2<String,String>("5","1")));
listA.add(new Tuple2<Double,Tuple2<String,String>>(-0.623,new scala.Tuple2<String,String>("6","1")));
Collections.sort(listA, new Comparator<Tuple2<Double,Tuple2<String,String>>>() {
public int compare(Tuple2<Double,Tuple2<String,String>> arg0, Tuple2<Double,Tuple2<String,String>> arg1) {
Double d0=arg0._1;
Double d1=arg1._1;
return d0.compareTo(d1);
}
});
for (Tuple2<Double,Tuple2<String,String>> p : listA) {
System.out.println(p._2._1);
}
分享到:
相关推荐
设计一个负责排序的程序包,实现多种排序算法,至少包括插入排序、冒泡排序和快速排序算法。 要求: 1.可以对任何简单类型和任意对象进行排序 2.可以支持升序、降序、字典排序等多种顺序要求 3.可以随意增加排序算法...
4.2.1设计一个由自动测试排序算法性能(比较次数compare_count、交换次数exchange_count、探测次数probe_count)的测试类和排序类构成的类体系。 要求:用一个类来描述一个排序算法,类中的sort方法通过调用比较、...
java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。
Java利用冒泡排序法实现从小到大排序的功能。
java排序,输进任何数字,每个数字之间以空格隔开,选择三种算法其中的一种,输出结果
一个Java小程序,利用递归思想实现的归并排序算法。其中有两个类,排序数据是写死在main方法中的。
利用分治法思想实现归并排序,Java语言描述。
利用java对基本汉字(unicode编码4E00-9FA5)进行笔画排序 资源更新查看:https://blog.csdn.net/u013271384/article/details/76549368
利用java实现的排序算法,如冒泡排序,快速排序,插入排序,选择排序,堆排序,图的最短路径Dijkstra算法,项目是idea构建的demo
实现了选择排序 插入排序 冒泡排序等三种算法,利用javaGUI界面实现动态演示(动态用线程实现)
JAVA程序,冒泡排序法,给定一个数组存储一组数据,利用冒泡排序法将其排序
利用java对基本汉字(unicode编码4E00-9FA5)进行笔画排序 资源更新查看:https://blog.csdn.net/u013271384/article/details/76549368
java排序 七.计数排序及其实现 八.基数排序及其实现 九. 桶排序及其实现 十. 堆排序及其实现 十一.二叉树排序及有序集合 十二.利用集合的4种排序排序方式
在java中利用for循环实现冒泡排序
利用java语言编写的三种常见排序算法,其中体现封装了,打包各方面的应用
* 插入排序方法,对整数数组从小到大的排序 */ public void insertSortAsc(int arr[]) { for (int i = 1; i ; i++) { int insertVal = arr[i]; int index = i - 1; while (index >= 0 && insertVal ...
利用java策略模式编写的一个排序方法切换,的小例子。用于学习策略模式是很好的方式。界面写的还可以,仅供大家参考学习
利用分治法思想实现快速排序,Java语言描述。
里面包含了所有的排序算法,并且利用java语言来实现这些算法。很适合数据结构的学习者参考
JDBC连数据库的JAVA程序,以及冒泡排序,折半查找.rar