java LinkedHashSet检索值
我正在从internet复制此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,
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]