【问题标题】:Sorting two arraylists in same order按相同顺序对两个数组列表进行排序
【发布时间】:2023-01-19 02:52:54
【问题描述】:

我有两个数组列表:

ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(2);
numbers.add(0);
numbers.add(0);
numbers.add(8);
ArrayList<String> linkers = new ArrayList<>();
linkers.add("five");
linkers.add("two");
linkers.add("zero");
linkers.add("zero");
linkers.add("eight");

我需要按升序对数字列表进行排序,并以相同的顺序对链接器列表进行排序。

【问题讨论】:

  • 创建一个专用对象/记录,代表一对intString。将每一对转换为这样的对象。将这些对对象添加到列表中。对这个列表进行排序。
  • 您可以创建一个自定义比较器,将字符串转换为整数(例如:“五”-> 5)并对其进行排序。

标签: java


【解决方案1】:

TreeMap 应该在这里提供帮助,其中您的键是整数,值表示字符串。 TreeMap直接按key排序。

【讨论】:

  • 不能使用 treemap,因为有很多重复的条目。
猜你喜欢
  • 2019-08-18
  • 1970-01-01
  • 2013-08-07
  • 2012-10-20
  • 1970-01-01
  • 2011-02-03
  • 2013-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多