gpt4 book ai didi

java - 如何对多个 ArrayList 中的值进行排序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:44:34 25 4
gpt4 key购买 nike

我有一个包含字母 f r t d 的 Arraylist letters,还有 两个 more Arraylists 其中一个存储一个字母的row position,另一个存储一个字母的col position。但是在按字母顺序 (Collections.sort(letters)) 对 Arraylist 字母进行排序后,我怎样才能对每个字母的行值和列值进行相应的排序呢?例如,如果字母 drow = 4col ==3 那么在排序之后 d 将是首先,获取 frow 和 ``col 值。如果字母获得它们的 rowcol 值,我该怎么做。

给定:

ArrayList<Character> letters;
ArrayList<Integer> rows;
ArrayList<Integer> cols;

片段:

Collections.sort(letters);
for(int i = 0; i < letters.size(); i++)
{
System.out.println(letters.get(i).getChar() + rows.get(i) + col.get(i)
}

最佳答案

答案不是对每个存储每个字符的一个元素的单个数组进行排序。

创建您自己的类以将 3 个关联的数据属性保存在一起,例如Letter .

执行以下操作之一:

  • 让类(class)实现Comparable<Letter> , 添加 compareTo方法。然后有一个ArrayListLetter你可以调用Collections.sort .
  • 创建另一个实现 Comparator<Letter> 的类用compare方法。用你的ArrayListLetter s,打电话Collections.sort传入一个附加参数,该参数是您的 Comparator 的一个实例.

关于java - 如何对多个 ArrayList 中的值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29927978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com