java - 从 ArrayList (java) 中获取元素
问题描述
挣扎于可能是一个简单的查询来匹配并返回ArrayList
.
我首先将 a 存储HashSet
在ArrayList
因为HashSet
没有 get 方法,然后检查ArrayList
(其中包含正确的元素,套接字引用字符串)。
List theseSocks = new ArrayList(NodeConnMaster.sockList);
System.out.println("array list contains " + theseSocks);
然后我想遍历并在元素中找到匹配的 ipAddress,一旦找到,就为整个元素设置一个变量,比如 -
for (int i =0; i< theseSocks.size(); i++) {
if (theseSocks.toString().contains(ipAddress)) {
int element = theseSocks.get();
System.out.println("the element is " + element);
}
}
但似乎 get 需要一个索引位置,我试图根据字符串内容而不是索引来获取。
有没有比删除除匹配元素之外的所有元素然后返回 index 更简单的方法0
。
或者ArrayList
不是要走的路。
解决方案是,在 SBylemans 的帮助下——
Object currentSock = null;
for (int i =0; i< theseSocks.size(); i++)
{
currentSock = theseSocks.get(i);
if (currentSock.toString().contains(ipAddress))
{
System.out.println("the element is " +currentSock);
break;
}
}
问候拉尔夫
解决方案
您可以使用 Java8 的流来过滤所需的元素,例如:
List wantedList = theseSocks.stream()
.filter(e ->e.toString().contains(ipAddress))
.collect(Collectors.toList())
推荐阅读
- java - 如何从 java 库(可用源)中提取一个或多个类,以及它/它们的所有依赖项?
- c# - C# WinForms & SQL Server:如何使用存储过程在 gridview 中渲染图像
- sql - PostgreSQL 9.6 jsonb 查询在数组上使用 like
- database - Tibco BW6 中的数据库插件
- router - BGPView.io 如何确定流量方向
- flutter - Flutter:在 Future 函数中使用 try/catch
- wordpress - 该网站遇到技术难题
- html - 如何修复:SAP Cloud Platform 登录窗口在 iframe 中呈现空白
- c# - ASP.NET MVC 中的 SignalR“访问 XMLHttpRequest ...”错误
- c# - 有没有办法从实例列表中搜索并通过用户输入显示特定的实例