Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中唯一列表的列表_Java_Containers - Fatal编程技术网

java中唯一列表的列表

java中唯一列表的列表,java,containers,Java,Containers,我需要用java创建一个独特的集合。有没有人能给我推荐一下可能的集装箱 我想要一个类似于List的东西,其中每个列表都可以重复其内容 例如,如果父列表的当前状态为say [[1,2,3],[3,4,5],[4,5,6]如果我打算添加另一个列表,比如说[3,4,5],则不应重复,也不应添加 List的contains()方法将处理整数、浮点等,但我不确定它是否能够匹配List 请建议其他可能有帮助的容器 谢谢。您最好使用Set而不是List 以上内容适用于您的示例: Set<List<

我需要用java创建一个独特的集合。有没有人能给我推荐一下可能的集装箱

我想要一个类似于
List
的东西,其中每个列表都可以重复其内容

例如,如果父列表的当前状态为say
[[1,2,3],[3,4,5],[4,5,6]
如果我打算添加另一个列表,比如说
[3,4,5]
,则不应重复,也不应添加

List的contains()方法将处理整数、浮点等,但我不确定它是否能够匹配List

请建议其他可能有帮助的容器


谢谢。

您最好使用
Set
而不是
List

以上内容适用于您的示例:

Set<List<Integer>> uniqueLists = new HashSet<>();
uniqueLists.add(Arrays.asList(1, 2, 3));
uniqueLists.add(Arrays.asList(3, 4, 5));
uniqueLists.add(Arrays.asList(4, 5, 6));

// Now, this won't be added:
uniqueLists.add(Arrays.asList(3, 4, 5));
Set uniquelist=newhashset();
添加(Arrays.asList(1,2,3));
添加(Arrays.asList(3,4,5));
添加(Arrays.asList(4,5,6));
//现在,将不添加以下内容:
添加(Arrays.asList(3,4,5));

但是,当你把一个集合放在一个集合中时要小心。在将其放入集合后,您不应再次更改它。

也许您有兴趣使用
set

如果您想维护添加顺序,可以使用
LinkedHashSet

您的代码如下

Set<Set<Integer> uniqueLists = new LinkedHashSet<Set<Integer>>();

uniqueLists.add(new LinkedHashSet(Arrays.asList(1, 2, 3)));

Set使用Set而不是list我不明白。由于第二个
3,4,5
对象与第一个
3,4,5
对象是分开的,所以此集合是否还会添加第二个
3,4,5
对象?@MattD:
数组。ArrayList
根据其内容实现
equals()
hashCode()
。试试看。如果你添加了一个不同的顺序,比如4,3,5怎么办?@goyalshub1509:这与
3,4,5
的列表不同。如果希望它们是同一个集合,请使用集合。