我有一个包含字母的Arraylist字母f
r
t
d
,还有two
更多的Arraylists,其中一个存储row poistion
了一封信,另一个存储col position
了一封信.但按字母顺序排列Arraylist字母后(Collections.sort(letters)
)我怎样才能相应地对每个字母的行和col值进行排序?例如,如果字母d
有row = 4
,col ==3
然后在排序d
后将在第一位并采用row
和``col值f
.如果字母得到它们row
和col
值,我该怎么做呢?
鉴于:
ArrayList<Character> letters;
ArrayList<Integer> rows;
ArrayList<Integer> cols;
Run Code Online (Sandbox Code Playgroud)
片段:
Collections.sort(letters);
for(int i = 0; i < letters.size(); i++)
{
System.out.println(letters.get(i).getChar() + rows.get(i) + col.get(i)
}
Run Code Online (Sandbox Code Playgroud)
答案不是对每个存储每个字符的一个元素的单个数组进行排序.
创建自己的类以将3个关联的数据属性保存在一起,例如Letter
.
执行以下操作之一:
Comparable<Letter>
,添加一个compareTo
方法.然后有一个你可以打电话ArrayList
的Letter
s Collections.sort
.Comparator<Letter>
使用compare
方法实现的类.使用你ArrayList
的Letter
s,调用Collections.sort
传入一个附加参数,该参数是你的一个实例Comparator
. 归档时间: |
|
查看次数: |
83 次 |
最近记录: |