Java:如何在Java中使用整数对?

时间:2017-04-30 11:16:49

标签: java treemap

我必须输入一些整数对。在对它们进行排序后,我就可以对它进行一些算术运算。 我使用TreeMap因为它允许排序,但是当我有重复键时它会失败。 那么,我应该在我的程序中使用什么样的集合/方法?请建议。

TreeMap<Integer, Integer> h = new TreeMap<Integer, Integer>(Collections.reverseOrder());
for(int i=0; i<n; i++){
    String ll[] = br.readLine().split(" ");
    h.put(Integer.parseInt(ll[0]), Integer.parseInt(ll[1]));            
}

2 个答案:

答案 0 :(得分:1)

您可以定义自己的对类,而不是使用TreeMap,将对象放在ArrayList中,并根据键对元素进行排序。

class Pair{
 final int first;
 final int second;
 .... constructor, getters 
}

然后使用Collections.sort

对其进行排序
Collections.sort(pairs, Pair::getFirst);

答案 1 :(得分:0)

为什么不实施自己的课程?

class Pair implements Comparable {
    int a, b;
    // Implement operations you want, compareTo() method
}

您可以在ArrayList<Pair>中存储这些Pair对象,并使用Collections.sort()方法对所需的数据进行排序。