Eug*_*neP 37 java collections arraylist
我从文本文件中读取数据,因此可能有:
John Mary John Leeds
我现在需要在ArrayList中获得3个唯一元素,因为文件输出中只有3个唯一值(如上所述).
我可以使用HashTable并向其添加信息,然后只需将其数据复制到List中.还有其他解决方案吗?
Ada*_*ski 76
你为什么要把它存放在一个List?您是否确实需要订购数据或支持基于索引的查找?
我建议将数据存储在Set.如果订购不重要,您应该使用HashSet.但是,如果您希望保留订购,则可以使用LinkedHashSet.
Fab*_*eeg 67
如果你有一个List包含副本,并且你想要一个List没有,你可以这样做:
List<String> newList = new ArrayList<String>(new HashSet<String>(oldList));
Run Code Online (Sandbox Code Playgroud)
也就是说,将旧列表包装到一个集合中以删除重复项并再次将该集合包装在列表中.
Cha*_*kar 17
您可以在添加之前检查list.contains().
if(!list.contains(value)) {
list.add(value);
}
Run Code Online (Sandbox Code Playgroud)
我猜这很明显!但是,将项添加到HashSet然后从该集创建列表将更有效.