gpt4 book ai didi

java - 将 List 转换为具有特定顺序的 ArrayList

转载 作者:行者123 更新时间:2023-11-29 06:28:03 25 4
gpt4 key购买 nike

最好的编码方式是什么:

objectsList 不是空列表。包含许多对象。这只是为了说明类型。

    List<ObjectType> objectsList= Collections.EMPTY_LIST;

ArrayList<RelatedModule> arrayWithOrder = new ArrayList<>();

Map<Integer, RelatedModule> mappedObjects= new HashMap<>();

objectsList.forEach(o ->
mappedObjects.put(o.getOrder(),
new Dto(o.getFirstName(),
o.getLastName()))
);

for (int i = 0; i < objectsList.size(); i++) {
arrayWithOrder.add(mappedObjects.get(i));
}

最佳答案

你可以使用 TreeMap<Integer, RelatedModule> ,但是,除非有多个对象具有相同的顺序并且目的是只保留最后一个,否则您可以简单地对列表进行排序然后对其进行转换:

List<RelatedModule> arrayWithOrder = 
objectsList.stream()
.sorted(Comparator.comparingInt(ObjectType::getOrder))
.map(o -> new RelatedModule(o.getFirstName(), o.getLastName()))
.collect(Collectors.toList());

关于java - 将 List 转换为具有特定顺序的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47069565/

25 4 0