Java使用lambda谓词查找列表中元素的索引
我有一个对象列表,我想找到具有特定属性值的元素的索引 比如Java使用lambda谓词查找列表中元素的索引,java,list,java-8,indexof,Java,List,Java 8,Indexof,我有一个对象列表,我想找到具有特定属性值的元素的索引 比如 List<MyObject> objects = // some objects; int indexOfFirstDVD = someUtils.findIndex(objects, obj -> "DVD".equals(obj.getType())); List objects=//一些对象; int indexOfFirstDVD=someUtils.findIndex(对象,obj->“DVD”.equa
List<MyObject> objects = // some objects;
int indexOfFirstDVD = someUtils.findIndex(objects, obj -> "DVD".equals(obj.getType()));
List objects=//一些对象;
int indexOfFirstDVD=someUtils.findIndex(对象,obj->“DVD”.equals(obj.getType());
我知道用for循环编写一个很容易,但是有没有什么简单的方法可以做到这一点,比如流式处理或任何库util?您可以使用
IntStream
optionant result=IntStream.range(0,objects.size())
.filter(x->“DVD”.equals(objects.get(x)))
.findFirst();
if(result.isPresent())
{
int index=result.getAsInt();
}
您可以使用IntStream
optionant result=IntStream.range(0,objects.size())
.filter(x->“DVD”.equals(objects.get(x)))
.findFirst();
if(result.isPresent())
{
int index=result.getAsInt();
}
您想学习以下内容吗?java.util.List
接口中已经有一个方法返回列表中某个对象的索引,也就是说,这个问题在这里已经有答案了。如果你有一个ArrayList,你可以使用arrayListObject.indexOf(dvd)你想学习这个方法吗?java.util.List
接口中已经有一个方法返回列表中某个对象的索引,也就是说,这个问题在这里已经有答案了。如果你有一个ArrayList,你可以使用arrayListObject.indexOf(dvd)