[英]Best way to sort list with index array
我想用整數數組對字符串列表進行排序作為新索引:
Integer[] newIndexes = {0,2,1};
List<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Pear");
fruits.add("Banana");
fruits.sort....
最好的方法是什么?
使用Java 8,您可以使用索引流和map()
方法來實現:
List<String> sortedFruits = Stream.of(newIndexes).map(fruits::get).collect(Collectors.toList());
給出清單
[Apple, Banana, Pear]
您可以使用SortedMap
將整數映射到字符串值。 這樣,它將根據鍵的自然順序對字符串值進行排序:
SortedMap<Integer, String> map = new TreeMap<Integer, String>();
for (int i = 0; i < newIndexes.length; i++) {
map.put(newIndexes[i], fruits.get(i));
}
Collection<String> sortedFruits = map.values();
如果您打算按字母順序對字符串進行排序,則可以使用Collections#sort()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.