Java中的ArrayList和泛型

我可以像ArrayList<Integer, Integer> arrList = new ArrayList<>();在Java中那样创建Arraylist吗?


我真正需要的是在ArrayList的每个元素上存储一个对,并基于每个对的第一个元素以不降序排序。


例如:


(6,2)

 (2,8)

 (1,2)

 (4,5)


最后应该给:


(1,2)

 (2,8)

 (4,5)

 (6,2)


一只甜甜圈
浏览 253回答 3
3回答

POPMUISE

一种方法是使用TreeMap,它将对type的值进行排序,Integer而无需您进行任何额外的工作:Map<Integer, Integer> map = new TreeMap<>();map.put(6, 2);map.put(2, 8);map.put(1, 2);map.put(4, 5);像这样打印:map.entrySet().stream().forEach((entry) -> {&nbsp; &nbsp; System.out.println("(" + entry.getKey() + "," + entry.getValue()+")");&nbsp; &nbsp;&nbsp;});产生:(1,2)(2,8)(4,5)(6,2)或者,如在其他地方提到的,创建您自己的类并对其进行手动排序。

BIG阳

创建另一个包含两个整数的类Pair&nbsp; &nbsp; class Pair{&nbsp; &nbsp; &nbsp; &nbsp; int first;&nbsp; &nbsp; &nbsp; &nbsp; int last;&nbsp; &nbsp; &nbsp; &nbsp; etc...要对其进行排序,请实现Comparable并使用诸如priorityQueue之类的数据结构

神不在的星期二

您可以将配对对象与以下代码一起使用&nbsp; &nbsp; ArrayList<javafx.util.Pair<Integer, Integer>> arrList&nbsp; = new ArrayList<>();&nbsp; &nbsp; arrList.add(new Pair<>(6,2));&nbsp; &nbsp; arrList.add(new Pair<>(2,8));&nbsp; &nbsp; arrList.add(new Pair<>(1,2));&nbsp; &nbsp; arrList.add(new Pair<>(4,5));&nbsp; &nbsp; arrList.sort(java.util.Comparator.comparing(Pair::getKey));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java