Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.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 LinkedHashSet检索值_Java_Arrays - Fatal编程技术网

java LinkedHashSet检索值

java LinkedHashSet检索值,java,arrays,Java,Arrays,我正在从internet复制此LinkedHashSet以删除重复项 Set<List<String>> sls=new LinkedHashSet<List<String>>(); 给我看的结果是: [172.16.139.194, 57799, 60.28.217.190, 7788] [54.240.226.64, 443, 60.28.217.190, 61595] [54.240.226.64, 443, 172.16.130.150,

我正在从internet复制此LinkedHashSet以删除重复项

Set<List<String>> sls=new LinkedHashSet<List<String>>();
给我看的结果是:

[172.16.139.194, 57799, 60.28.217.190, 7788]
[54.240.226.64, 443, 60.28.217.190, 61595]
[54.240.226.64, 443, 172.16.130.150, 61595]
[172.16.134.70, 40193, 172.16.130.150, 443]
[172.16.136.7, 58792, 31.13.77.5, 5222]
[31.13.77.5, 443, 31.13.77.5, 40193]
[172.16.134.70, 38332, 31.13.77.5, 443]
现在的问题是,我希望返回LinkedHashSet中的每个值,例如:
172.16.139.194存储到另一个名为Array1
57799的数组中,57799存储到另一个名为Array2
60.28.217.190的数组中,该数组存储到另一个名为Array3
7788的数组中,该数组存储到另一个名为Array4
54.240.226.64存储到另一个名为Array1
的数组中443存储到另一个名为Array2
的数组中60.28.217.190存储到另一个名为Array3
的数组中61595存储到另一个名为Array4
的数组中,依此类推。 我尝试使用

Object[] objArray = sls.toArray();
for(int index=0; index < objArray.length ; index++){
String [] commasplitSrc = objArray[index].split(",");
Object[]objArray=sls.toArray();
for(int index=0;index
但是split不适用于此。
还有其他方法吗?我只想获取LinkedHashSet中的每个值,以便理想地打印输出。
输出示例:

IP 172.16.139.194正在将端口为57799的数据包发送到端口为7788的60.28.217.190。

使用两个嵌套的forEach循环,第一个循环遍历集合,第二个循环遍历列表。您可以在第二个forEach循环中打印每个元素或执行任何操作,您可以访问列表中的单个元素。

也许这就是你想要的:

for (List<String> list : sls) {
    System.out.println(MessageFormat.format("IP {0} is sending packet with port {1} to {2} with port {3}.", list.toArray()));
}
而后者正是您所提到的:

[172.16.139.194, 57799, 60.28.217.190, 7788]

这就是您无法通过
字符串。拆分
方式检索所需值的原因。

能否显示您正在查找的示例输出?@Madhusudanareddysunapu您好,我刚刚修改了问题,输出示例就在那里。这看起来非常基本,因此将其作为我的答案删除并添加为注释。如果您使用java 8,试试
sls.stream().forEach(l->System.out.format(“IP%s正在将端口为%s的数据包发送到端口为%s\n的%s”,l.get(0),l.get(1),l.get(2),l.get(3));
@Aaron,请检查我的答案。@MadhusudanaReddySunnapu,同样,您可以简单地执行
l.toArray()
"172.16.139.194, 57799, 60.28.217.190, 7788"
[172.16.139.194, 57799, 60.28.217.190, 7788]