如何从包含 java 中的对象的向量中获取元素的索引
How to get index of element from vector which contain objects in java
下面是示例代码,我想在其中从包含对象的向量中找到包含 str="test" 的索引对象。
class Abc{
String str1;
String str2;
}
class Test{
Vector vector = new Vector();
Abc obj1 = new Abc();
obj1.str1 = "test";
Abc obj2 = new Abc();
obj2.str1 = "test2";
vector.add(obj1);
vector.add(obj2);
//now i want index of that object which have str="test"
//it should give 0 (object 0 contain test)
//with loop we can easily get but do we get that by using //streams or indexOf method
}
Vector
是一个非常过时的 class,大多数时候你想使用 ArrayList
或任何其他 List
实现。 indexOf
和 Stream
都没有太大帮助。
您可以使用流创建一个新列表,然后使用 indexOf,但虽然它看起来比传统循环短,但成本要高得多。
List<Abc> list = new ArrayList<>();
// Fill list with values
List<String> strList = list.stream().map(abc -> abc.str1).collect(Collectors.toList());
strList.indexOf("test2");
下面是示例代码,我想在其中从包含对象的向量中找到包含 str="test" 的索引对象。
class Abc{
String str1;
String str2;
}
class Test{
Vector vector = new Vector();
Abc obj1 = new Abc();
obj1.str1 = "test";
Abc obj2 = new Abc();
obj2.str1 = "test2";
vector.add(obj1);
vector.add(obj2);
//now i want index of that object which have str="test"
//it should give 0 (object 0 contain test)
//with loop we can easily get but do we get that by using //streams or indexOf method
}
Vector
是一个非常过时的 class,大多数时候你想使用 ArrayList
或任何其他 List
实现。 indexOf
和 Stream
都没有太大帮助。
您可以使用流创建一个新列表,然后使用 indexOf,但虽然它看起来比传统循环短,但成本要高得多。
List<Abc> list = new ArrayList<>();
// Fill list with values
List<String> strList = list.stream().map(abc -> abc.str1).collect(Collectors.toList());
strList.indexOf("test2");