Tag: 排序

在Java中对3个值进行排序的最快方法

我必须按正确的顺序放置3个值并将它们打印到控制台。 一个解决方案是将它们放入一个数组然后对它们进行排序,但我记得(从学校时代开始)比较和排序它们更快,但是我找不到正确的比较顺序。 您能否告诉我如何将3个值与if语句的最小数量进行比较?

按顺序从最低到最高的java排序整数

这些数字存储在相同的整数变量中。 我如何从最低到最高的顺序排序整数? 11367 11358 11421 11530 11491 11218 11789

如何从时间戳列表中获取开始和结束范围?

我有一个这样的时间戳字符串: 2016-01-14T22:43:55Z 2016-01-15T00:04:50Z 2016-01-15T00:44:59+08:30 2016-01-15T01:25:35-05:00 2016-01-15T01:44:31+08:30 2016-01-15T02:22:45-05:00 2016-01-15T02:54:18-05:00 2016-01-15T03:53:26-05:00 2016-01-15T04:32:24-08:00 2016-01-15T06:31:32Z 2016-01-15T07:06:07-05:00 我想对它们进行排序,以便我可以从上面的时间戳得到起始范围和结束范围。 我在做如下: List timestamp = new ArrayList(); // adding above string timestamp into this list // now sort it Collections.sort(timestamp); 这将从上面的时间戳列表中给出开始和结束范围。 这是正确的方法还是有更好的方法? timestamp.get(0); // start range timestamp.get(timestamp.size() – 1); // end range 更新 所以我应该做如下的事情: List timestamp = new ArrayList(); timestamp.add(OffsetDateTime.parse( “2016-01-15T00:44:59+08:30” )); // […]

使用合并排序对双向链表进行排序

我在互联网上找到了这个代码,它是针对数组的,我想把它更改为双链表(而不是索引我们应该使用指针)请你帮我,我怎样才能改变合并方法(我改变了排序方法)我自己)这也不是我的家庭工作,我喜欢使用链表! public class MergeSort { private DoublyLinkedList LocalDoublyLinkedList; public MergeSort(DoublyLinkedList list) { LocalDoublyLinkedList = list; } public void sort() { if (LocalDoublyLinkedList.size() <= 1) { return; } DoublyLinkedList listOne = new DoublyLinkedList(); DoublyLinkedList listTwo = new DoublyLinkedList(); for (int x = 0; x < (LocalDoublyLinkedList.size() / 2); x++) { listOne.add(x, LocalDoublyLinkedList.getValue(x)); } for (int x […]

给定内存约束时,对具有大量数据的文件进行排序

要点: 我们同时处理数千个平面文件。 内存约束是一个主要问题。 我们为每个文件进程使用线程。 我们不按列排序。 文件中的每一行(记录)都被视为一列。 做不到: 我们不能使用unix / linux的sort命令。 我们不能使用任何数据库系统,无论它们有多么轻盈。 现在,我们不能只加载集合中的所有内容并使用排序机制。 它会占用所有内存,程序会出现堆错误。 在那种情况下,您如何对文件中的记录/行进行排序?

按降序排序int数组

可能重复: 按降序对基本类型的数组进行排序 Java:如何以相反的顺序对浮点数组进行排序? 如何在Java中反转int数组? 以下代码将按升序对数组进行排序: int a[] = {30,7,9,20}; Arrays.sort(a); System.out.println(Arrays.toString(a)); 我需要按降序排序。 如何使用Comparator执行此操作? 请帮忙。

Java8 Collections.sort(有时)不会对JPA返回的列表进行排序

Java8在我的JPA EclipseLink 2.5.2环境中继续做一些奇怪的事情。 我不得不删除问题https://stackoverflow.com/questions/26806183/java-8-sorting-behaviour昨天,因为在这种情况下的排序受到奇怪的JPA行为的影响 – 我通过强制执行该方法找到了解决方法在进行最终排序之前的第一个排序步骤。 仍然在Java 8中使用JPA Eclipselink 2.5.2,以下代码有时不在我的环境中排序(Linux,MacOSX,都使用build 1.8.0_25-b17)。 它在JDK 1.7环境中按预期工作。 public List getDocumentsByModificationDate() { List docs=this.getDocuments(); LOGGER.log(Level.INFO,”sorting “+docs.size()+” by modification date”); Comparator comparator=new ByModificationComparator(); Collections.sort(docs,comparator); return docs; } 从JUnit测试调用时,上述函数正常工作。 在生产环境中进行debbuging时,我会得到一个日志条目: INFORMATION: sorting 34 by modification date 但在TimSort中,nRemaining <2的返回语句被命中 – 因此不会发生排序。 JPA提供的IndirectList(请参阅jpa返回的集合? )被认为是空的。 static void sort(T[] a, int lo, int hi, Comparator c, […]

Java Collections.sort(节点)使用什么类型?

我认为它是MergeSort,它是O(n log n)。 但是,以下输出不同意: -1,0000000099000391,0000000099000427 1,0000000099000427,0000000099000346 5,0000000099000391,0000000099000346 1,0000000099000427,0000000099000345 5,0000000099000391,0000000099000345 1,0000000099000346,0000000099000345 我按序列号排序了4个节点的节点列表,排序正在进行6次比较。 我很困惑,因为6>(4 log(4))。 谁可以给我解释一下这个? PS这是mergesort,但我仍然不理解我的结果。 谢谢大家的答案。 谢谢汤姆纠正我的数学。

排序字母数字字符串java

我有这个数组存储用户添加的一些URL的后缀: [U2, U3, U1, U5, U8, U4, U7, U6] 我这样做的时候: for (Map map : getUrlAttachments()) { String tmpId = map.get(“id”); //it receives the U2, in the 1st iteration, then U3, then U1,… if (tmpId.charAt(0) == ‘U’) { tmpId.charAt(1);//2, then 3, then 1,… String url = map.get(“url”); String description = map.get(“description”); URLAttachment attachment; String cleanup = […]

按对象属性排序对象的ArrayList

我有一个物体的Arraylist。 这些对象具有属性或数据类型 – ‘String’。 我需要通过该字符串对Arraylist进行排序。 怎么做到这一点?