Tag: 排序

java按可指定属性排序对象列表

我想按这些对象的指定属性对对象列表进行排序,我想选择应该用于排序的属性。 例: class Car{ private String name; private String colour; public enum sortBy {NAME, COLOUR}; public String name(){ return name; } public String colour(){ return colour; } public static Car[] getSortedArray(Car[] carArray, sortBy sortType){ HashMap carMap = new HashMap(); Object[] sortArray = new Object[carArray.length]; Object value = null; for(int i = 0; i < carArray.length; […]

在一长串文件中查找最近修改的3个文件

我有一个文件列表,我想排序和提取前3个最后修改。 约束:由于下游应用程序的兼容性问题,我无法使用Java 7 我目前的选择 解决方案1 File[] files = directory.listFiles(); Arrays.sort(files, new Comparator(){ public int compare(File f1, File f2) { return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified()); } }); 解决方案2 public static void sortFilesDesc(File[] files) { Arrays.sort(files, new Comparator() { public int compare(Object o1, Object o2) { if ((File)o1).lastModified().compareTo((File)o2).lastModified()) { return -1; } else if (((File) o1).lastModified() < ((File) o2).lastModified()) { […]

如何使用Collections和Comparator按升序对ArrayList进行排序

如何使用Comparator按升序对ArrayList进行排序? 我知道如何使用以下降顺序对其进行排序: Comparator mycomparator = Collections.reverseOrder(); 然后 Collections.sort(myarrayList,mycomparator); 只是想知道如何使用集合和比较器按升序对其进行排序? 谢谢!

按字典顺序对int数组进行排序

我遇到了一个问题: WAP按数字排序小于给定N的素数。 如果N为40,则输出应为11,13,17,19,2,23,29,3,31,37,39,5,7。注意:限制内存使用。 获得主要号码很容易。 但我无法找出一种有效的整数数组排序方法。 public static void getPrimeNumbers(int limit) { for (int i=2; i<=limit; i++) { if(isPrime(i)) { System.out.println(i); } } } public static boolean isPrime(int number) { for(int j=2; j<number; j++) { if(number%j==0) { return false; } } return true; } public static void lexographicSorting() { int[] input = {2,3,5,7,11,13,17,19}; int[] output = […]

ArrayList的排序

我有一个数组列表 ArrayList itemListWithRank = ItemListDAO.getItemList(); 在arraylist itemListWithRank ,有很多类型的对象值都是不同的。 并且它们中的一个值是也使用该数组列表设置的项目等级。 现在我想根据排名的加入顺序对这个数组列表进行排序。 排名值已在此数组列表中设置。 我如何对arraylist进行排序哪一个有很多类型的值….? 谢谢大家……

如何对java对象的arraylist进行排序?

所以我想在java中使用对象的arraylist。 我有object2.number和object2.number , object3.number等…但是这些对象除了number之外还有其他属性,比如name , distance等…… 因此,如果它正在对array的字符串进行排序,那就是将字符串放在一个temporal ,让另一个字符串取代它……但是在对象的araryList中,我该怎么做? 我可以将对象移动到数组的那个位置吗? 谢谢。

Shell排序Java示例

谁能给我一个shell排序的例子? 我是这里的新人,他必须学习shell排序,但首先我必须找到一个Java shell排序示例。 我在谷歌找到了一个例子,但这太难了。

在java中对巨大的file.txt进行排序

我正在处理一个非常大的文本文件(755Mb)。 我需要对行(约1890000)进行排序,然后将它们写回另一个文件中。 我已经注意到有一个起始文件的讨论与我的相似: 排序行根据其中的单词作为键 问题是我无法将行存储在内存中的集合中,因为我得到了Java堆空间exception(即使我最大限度地扩展它)..(已经尝试过!) 我不能用excel打开它并使用排序function,因为文件太大而且无法完全加载.. 我想过使用DB ..但我认为编写所有行然后使用SELECT查询它在执行时间方面太长了……我错了吗? 任何提示赞赏提前谢谢

在Java中对匹配的数组进行排序

假设我有两个数组(在Java中), int []数字; 和int []颜色; 数字的每个第i个元素对应于颜色中的第i个元素。 例如,数字= {4,2,1}颜色= {0x11,0x24,0x01}; 意味着数字4是颜色0x11,数字2是0x24等。 我想对数字数组进行排序,但仍然有它,所以每个元素都与颜色对匹配。 防爆。 数字= {1,2,4}; colors = {0x01,0x24,0x11}; 什么是最干净,最简单的方法? arrays有几千个项目,因此最好,但不是必需的。 做一个Arrays.sort()和自定义比较器是否有意义? 最好使用库函数。 注意:我知道“最佳”解决方案是为两个元素创建一个类并使用自定义比较器。 这个问题的目的是要求人们以最快的方式对此进行编码。 想象一下参加一个编程竞赛,你不会想要制作所有这些额外的类,比较器的匿名类等等。更好的是,忘记Java; 你会怎么用C编码呢?

检查数组是否已排序,返回true或false

我正在编写一个简单的程序,如果一个数组被排序为false,则返回true,并且我在eclipse中不断得到exception,我只是想不通原因。 我想知道是否有人可以查看我的代码并解释为什么我得到一个超出范围的数组exception。 感谢您的高级帮助。 public static boolean isSorted(int[] a) { int i; for(i = 0; i < a.length; i ++);{ if (a[i] < a[i+1]) { return true; } else { return false; } } } public static void main(String[] args) { int ar[] = {3,5,6,7}; System.out.println(isSorted(ar)); }