Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.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使用lambda谓词查找列表中元素的索引_Java_List_Java 8_Indexof - Fatal编程技术网

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)