首页 > 解决方案 > 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)

标签: javagenericsarraylistcollections

解决方案


一种方法是使用TreeMap,它可以对类型的值进行排序,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) -> {
    System.out.println("(" + entry.getKey() + "," + entry.getValue()+")");    
});

产生:

(1,2)

(2,8)

(4,5)

(6,2)

或者也许正如其他地方所提到的,创建自己的类并手动对其进行排序。


推荐阅读