如何从包含 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 实现。 indexOfStream 都没有太大帮助。

您可以使用流创建一个新列表,然后使用 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");