【如何在Java中找到排序的排列】教程文章相关的互联网学习教程文章

java – 按照包含的最高值对multimap的键进行排序【代码】

我使用Guava MultiMap(impl LinkedListMultimap)来允许我为一个键存储多个值,但后来我想按最高值对地图进行排序并返回键. 即 第一次运行后,我有key1:{13} key2:{7} key3:{11}第二次运行后,我现在有了key1:{13,14} key2:{7,18} key3:{11,1}第三次运行后,我现在有了key1:{13,14,16} key2:{7,18,6} key3:{11,1,22}我想订购key3 key2 key1我想输出键(我不再需要知道值) 我不能找到一种方法来做到这一点,我不必使用MultiMap,它看起来可能...

java – 测试合并排序中合并的情况

是否有任何边缘情况或一般情况我需要测试此功能.我唯一能想到的是,其中一个被合并的数组是空的.我还需要考虑其他测试用例吗?解决方法:对于任何类型,我考虑这些情况: >空列表>已经排序的列表>反向排序列表>整个由相同元素组成的列表>包含欺骗的列表 这不仅可以证明算法,还可以证明性能.

Java泛型:按值排序地图【代码】

尝试编译以下函数来排序通用映射我得到此错误:"The method compareTo(V) is undefined for the type V"请帮助完成这项工作!public class CollectionsPlus<K,V> {/*** Sort map by value* @param map* @return*/public static<K,V> Map<K, V> sortMapByValue(Map<K, V> map) {List<Map.Entry<K, V>> list = new LinkedList<Map.Entry<K, V>>(map.entrySet());Collections.sort(list,new Comparator<Map.Entry<K, V>>() {public in...

java – BurrowsWheeler转换(BWT)的最佳排序算法

Burrows Wheeler Transformation让我陷入了一些问题.这是一个大学项目,但这只是其中很小的一部分.整个项目由3种不同的算法组成,用于数据压缩. 我只想弄清楚什么是最节省内存和时间的排序算法用于Burrows Wheeler Transformation中的后缀排序?编码需要尽可能高效. 对于较小的数组,排序实际上并不会真正起作用,但是当我们压缩的文本文件变得越来越大时,使用低效排序算法所消耗的时间实际上会破坏时间和内存效率. 任何帮助将不胜感激...

java – 不区分大小写的排序集 – 保持不同大小写的相同字符串【代码】

今天我有一个不区分大小写的排序集,如:Set<String> set = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); set.add("foo"); set.add("FOO"); set.add("bar"); System.out.println(set.toString());这个输出是:[bar, foo]但我真正想要的是:[bar, FOO, foo]也就是说,我希望对集合的排序不区分大小写,但我希望能够在集合中使用具有不同情况的相同字符串(如“foo”和“FOO”),而不丢弃最后一个. 我知道我可以对List进行排序,但在我的...

按子列表中的项目对Java List进行排序【代码】

我有一个清单:List<List<Item>> = [["a", "one", 3], ["b", "one", 2], ["c", "one", 4], ["d", "two", 2],["e", "one", 1], ["f", "two", 1]]我想用子数组中的第二个值对它进行排序,如果有两个像,那么它应该按第三个值排序,如果它从那里找到两个,那么它应该按第一个元素排序.所以最终结果应该是这样的:[["e", "one", 1], ["b", "one", 2], ["a", "one", 3], ["c", "one", 4], ["f", "two", 1], ["d", "two", 2]]有人能告诉我一些...

java – 如何通过比较值来对HashMap的条目进行排序,其中每个值都是int []?【代码】

我有一个HashMap定义为HashMap< String,int []>.值为int [],其中只有2个数字.我想要做的是通过这两个数字的总和对这个HashMap的条目进行排序. 这就是我所拥有的.我正在使用Java 8.我只需要添加我在int []中总和2个整数的部分并将其视为一个数字,然后按照下面的方式进行排序,但我不确定如何添加该部分.hm.entrySet().stream().sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))解决方法:这是Java 8 Comparator lambda...

在java中对元组列表进行排序的有效方法【代码】

给定的通用数据类型看起来像这样:HashMap< EdgeTuple,Double> edgeList其中tuple是一个EdgeTuple类,Double是一个对任务不重要的权重:class EdgeTuple{int label1;int label2;public EdgeTuple(int label1, int label2){int min = Math.min(label1, label2);int max = Math.max(label1, label2);this.label1 = min;this.label2 = max;} }因此,您可以看到元组已经在第一个位置上具有较小的值.我想要做的是对最终输入顺序应该如下所...

java – 排序的ConcurrentModification异常【代码】

我写了这个小程序来排序数组.根据我的理解,它应该打印0,1,2. 但是,当我运行此程序时,我收到ConcurrentModificationExceptionpublic class Test {public static void main(String[] args) {List<Double> l1 = new ArrayList<Double>(Arrays.asList(2., 0., 1.));List<Double> l2 = l1.subList(0, 3);Collections.sort(l1);System.out.println(l2.get(0));} }我真的不确定这个例外的根本原因. 有人可以帮我理解我犯错的地方吗? 注意...

排序子列表,Java【代码】

参见英文答案 > Sorting a part of Java ArrayList 2个更新:我知道与Sorting a part of Java ArrayList的相似之处.这个问题专门询问List接口而不是ArrayList类,因此更广泛.我认为这是一个单独的问题. 在Java中,Arrays类有一个静态方法,允许您对数组中的子数组进行排序:public static <T> void sort(T[] a,int fromIndex,int toIndex,Comparator<? super T> c)我想以类似的方式对List进行排序...

当hashmap值是多个属性java 8的对象列表时,如何排序【代码】

假设我喜欢:Map<String, List<MyState>> map = new HashMap<>();map.computeIfAbsent(key, file -> new ArrayList<>()).add(myState);map.put("aa",list1..)map.put("bb",list2..)map.put("cc",list3..)public class MyState {private String state;private String date; }我想对地图值List< MyState>进行排序通过MyState :: date然后通过MyState :: state解决方法:您可以这样做:Comparator<MyState> comparator = Comparator.co...

java – 客户端排序Hibernate分页?【代码】

我使用GWT for UI和Hibernate / Spring for buisness-layer.以下GWT小部件用于显示记录.(http://collectionofdemos.appspot.com/demo/com.google.gwt.gen2.demo.scrolltable.PagingScrollTableDemo/PagingScrollTableDemo.html).我假设排序是在客户端完成的. 我没有检索整个结果集,因为它很庞大.我用principals = getHibernateTemplate().findByCriteria(criteria,fromIndex, numOfRecords);检索数据.在Hibernate层中没有排序标准....

Java Date排序方法?【代码】

我有一个字符串数组,格式为ex:’2010-05-04 11:26:46 0530′.如何检查数组中的特定日期是否为>今天? 谢谢解决方法: DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");df.parse(datearray[i]).after(new Date())

java – 保持枚举在arraylist中排序?

假设我有一个名为行星的枚举,其中包含VENUS,EARTH和MARS.我将有很多数组列表,每个类型最多只能包含一个.我希望按照VENUS,EARTH和MARS的顺序始终对每个数组列表进行排序. 我需要使用比较器吗?是否有一种方法可以在插入后自动对它们进行排序,还是需要在每次插入后调用sort?我是否需要在每种类型中保留一个int值来区分它们的顺序? 如果您有任何建议,请提供其他建议,谢谢.解决方法:最常见的解决方案是使用TreeSet,它在插入时按顺序保...

java – 使用TreeMap排序问题【代码】

我正在尝试在HashMap中放置一些键值,然后尝试使用TreeMap进行排序,如下所示.问题是如果地图中有类似的值,那么在排序后它会考虑其中任何一个.import java.util.*;public class HashmapExample {public static void main(String[] args) {HashMap<String,Integer> map = new HashMap<String,Integer>();ValueComparator bvc = new ValueComparator(map);TreeMap<String,Integer> sorted_map = new TreeMap(bvc);map.put("A",99);map...