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

Java程序到字母数字排序对象【代码】

Java程序到字母数字排序对象 请让我知道如何才能获得预期的结果 预期产量:B2D1D2D14E2 实际产量:B2D1D14D2E2 ====================================List<Name> lst = new ArrayList<>(); lst.add(new Name("D",1)); lst.add(new Name("D",14)); lst.add(new Name("D",2)); lst.add(new Name("E",2)); lst.add(new Name("B",2));Collections.sort(lst, new Comparator<Name>() {@Overridepublic int compare(Name n1, Name n2) {/...

java – 具有优先级和时间的多字段排序的队列【代码】

意图 实现具有基于1)优先级和2)时间的排序的任务队列,具体地,创建任务的时间或时间戳(未插入队列中),优先考虑具有较旧时间戳的任务. 试着 这是我到目前为止所得到的;比我想象的要简单得多,只需要一个PriorityQueue.在比较器中,如果两个优先级相等,则对Task.time进行另一次比较,否则,比较仅基于Task.priority.import java.util.Comparator; import java.util.PriorityQueue;public class QueueWithPriorityAndTimeSort {enum TaskPr...

java – 如何按字母顺序对列表列表的第一个元素进行排序?【代码】

首先,我希望程序要按字母顺序按列表的第一个元素对列表进行排序.然后将它们重新排序为原始顺序.代码如下.ArrayList<ArrayList<String>> mylist = new ArrayList<ArrayList<String>>();List<String> List1 = new ArrayList<String>();List<String> List2 = new ArrayList<String>();List<String> List3 = new ArrayList<String>();List1.add("A");List2.add("B");List3.add("A");List1.add("C");List2.add("D");List3.add("E"); myl...

java – 在添加到Set时按枚举排序【代码】

我需要创建基于以下内容的优先级集/数组:public interface IListener {public Priority getPriority();public enum Priority{HIGHEST,HIGH,NORMAL,LOW,LOWEST;} }IListeners存储在:HashMap<Class<? extends IListener>, Set<IListener>> listeners = new HashMap<>();我期待制作方法,它将始终在优先级组之后的第一位添加IListener.例:给定Set包含一些具有此顺序的IListeners. {最高,最高,最高,最高,最低,低,低,最低} 添加优先级...

java – 列表排序实现的单元测试?【代码】

我目前正在编写单元测试,检查方法是否正确排序列表. 排序方法是使用clas Comparator覆盖compare方法,并使用Collections.sort()对列表进行排序. 这可能不是一个技术问题,但我正在寻找一种方法来使用JUnit的断言检查列表是否正确排序… 列表按其所持类型的内部参数排序,让我称之为id.因此,当列表包含3个ID为3,1,2的项时,它应将它们排序为1,2,3.Long expected1 = listOfObjects.get(0).getId() Long expected2 = listOfObjects.get(1)...

如何在java中按字母顺序对字符串数组进行排序?【代码】

我是编程/编码的新手,现在已经在学校停留了几天.目标是采用一个充满单词的数组(每个位置是一个不同的单词)并按字母顺序排序.我已经尝试过对堆栈溢出进行一些研究,但是在我发现的一些例子之后我遇到了一些麻烦.类和驱动程序(如果你愿意,我使用两部分设置)都可以编译,没有问题.当我尝试从我的驱动程序使用alphaSort时,会出现此问题.我收到下面标记的行的空指针异常.我过去曾经遇到过这些例外的麻烦,所以我确信这是我忽略的一些小事.然...

选择排序不用Java排序【代码】

如果我问了太多问题,我很抱歉,希望我能在这个网站上提供帮助.我正在尝试创建一个选择排序,但在排序方面没有运气.import java.util.Random;public class Tester { public static void main(String[] args) { selectionSort(args); }private static void printArray(int[] anArray) {for (int i = 0; i < anArray.length; i++) {if (i > 0) {System.out.print(", ");}System.out.print(anArray[i]);}}public static void selectionSo...

java – 使用Lambda对列表进行排序和分组【代码】

让我们假设我有一个员工列表:private static List<Employee> list = new ArrayList<Employee>();static {list.add(new Employee("Joe", 100000, 1980));list.add(new Employee("Tim", 50000, 1982));list.add(new Employee("Mike", 90000, 1970));list.add(new Employee("Rick", 50000, 1955));list.add(new Employee("Andy", 60000, 1966));list.add(new Employee("Tim", 10000, 1995));list.add(new Employee("Tony", 130000, 1...

java – 在O(1)时间内组合两个已排序的迭代器【代码】

我在接受采访时被问到以下问题:Combine two iterators over their sorted contents such that theresulting iterator should iterate over the combination of these 2iterators in sorted order in O(1) time (these iterators iterate over aString).我写了下面的代码,但我确信它在O(1)时间内没有执行.您对匹配面试问题设置的约束有什么建议?import java.util.Iterator; import java.util.Set; import java.util.TreeSet;publi...

如何使用java 8 lambda和streams对Map>进行排序【代码】

我有一个这样的排序日期列表:2016-07-07 2016-07-08 2016-07-09 2016-07-10 2016-07-11 2016-07-12 2016-07-13 ... 2016-07-31 2016-08-01 2016-08-02 2016-08-03 ... 2017-01-01 2017-01-02 2017-01-03 ...从该列表中我生成Map< YearMonth,List< LocalDate>>与流:Map<YearMonth, List<LocalDate>> d = dates.stream().collect(Collectors.toList()).stream().collect(Collectors.groupingBy(date -> YearMonth.from(date)));该映...

Java-自带的二分搜索和排序【代码】【图】

java的Arrays 类中已经写好了排序和二分搜索 package com.company; import java.util.Arrays;public class ArrayTest {public static void main(String[] args){int[] a = {6,17,92,32,58,22,84,66,36,33}; //测试数据System.out.println("The array value is:");for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println();Arrays.sort(a); //Arrays里面的排序算法for(int i=0;i<a.length;i++){System.out....

java – 为什么不排序(Comparator :: reverseOrder)工作?【代码】

以下Stream表达式完美无缺:Stream<String> s = Stream.of("yellow","blue", "white");s.sorted(Comparator.reverseOrder()).forEach(System.out::print);` //yellowwhiteblue为什么没有与方法引用相同的编译?s.sorted(Comparator::reverseOrder).forEach(System.out::print);The type Comparator does not define reverseOrder(String, String) thatis applicable here解决方法:方法引用告诉Java“将此方法视为单方法接口的实现”...

每天在Java 8 Stream API中对实体进行延迟排序?【代码】

我有一个大型的Java 8 Stream(Stream< MyObject>),其中的对象如下所示:class MyObject {private String string;private Date timestamp;// Getters and setter removed from brevity }我知道第1天的所有时间戳都将在第2天之前到达,但在每一天内,时间戳可能会出现故障.我想使用Stream API每天按时间戳顺序对MyObject进行排序.由于Stream很大,我必须尽可能懒惰地做这件事,即在内存中保存一天的MyObject是可以的,但是保持不止于此之...

java – 有一种简洁的方法来创建一个基于X.getY()排序的Comparator【代码】

有没有更短的说法:final Comparator<ClassA> byName = (final ClassA a1, final ClassA a2) -> a1.getName().compareTo( a2.getName() ));我知道getName()永远不会返回null. 也许使用方法参考沿着这些方向:final Comparator<ClassA> byName = ????( ClassA::getName );解决方法:你可以把它缩短为:final Comparator<ClassA> byName =Comparator.comparing(ClassA::getName);

java – 从频率表中获取中位数(计数排序)【代码】

我无法理解getMedian方法背后的逻辑.如何评估中位数,元素数和元素总和之间的联系是什么?欣赏是否有人可以解释它的逻辑.public static void main(String[] args) {Random r = new Random();int[] ar = r.ints(0, 100).limit(9).toArray();int k = ar.length;int[] count = getCounts(ar);double median = getMedian(count, k);System.out.println(median);}private static int[] getCounts(int[] ar) {int[] count = new int[100];...