gpt4 book ai didi

Java 链接 HashMap

转载 作者:行者123 更新时间:2023-12-02 05:10:16 25 4
gpt4 key购买 nike

我有这个简单的代码,其中数组列表将传递到 HashMap 以删除重复记录并将所有记录添加回同一个数组列表:

ArrayList<String> masterRecords = new ArrayList<String>();

String perLine;
// Read file per line
while ((perLine = br.readLine()) != null) {
masterRecords.add(perLine);
}

br.close();

// Remove duplicates using hash map
HashSet<String> uniqueRecords = new HashSet<String>();
uniqueRecords.addAll(masterRecords);
masterRecords.clear();
masterRecords.addAll(uniqueRecords);

我的数据是 csv 记录,类似于:

/EON_2,-,EON_2,9R25M_ROADM_001,OCH-L-1-1-1-68,OPT-F,PMTypeOptical,NEND,TDTC,15-MIN,Dec 08 2014  - 10:30:00 PM MYT,NA,NA

问题是所有记录的顺序不同,我想保留它们之前的排序方式,我读到使用链接 HashMap 可以执行相同的操作(删除重复项),同时保留记录的顺序记录。我似乎找不到关于如何做到这一点的好例子。任何人都可以向我指出一个或有一个关于如何做到这一点的基本示例吗?谢谢

最佳答案

首先,HashSet 不是 HashMap。并且,您可以使用 LinkedHashSet喜欢

Set<String> uniqueRecords = new LinkedHashSet<>();

来自链接的 Javadoc,

This implementation differs from HashSet in that it maintains a doubly-linked list running through all of its entries. This linked list defines the iteration ordering, which is the order in which elements were inserted into the set (insertion-order).

关于Java 链接 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27391942/

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