如何从包含java中对象的向量中获取元素的索引

Posted

技术标签:

【中文标题】如何从包含java中对象的向量中获取元素的索引【英文标题】:How to get index of element from vector which contain objects in java 【发布时间】:2022-01-17 14:11:21 【问题描述】:

下面是我想从包含对象的向量中找到包含 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

【问题讨论】:

【参考方案1】:

Vector 是一个非常过时的类,大多数时候您想使用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");

【讨论】:

以上是关于如何从包含java中对象的向量中获取元素的索引的主要内容,如果未能解决你的问题,请参考以下文章

如何从传递给某些 STL 算法的谓词中获取元素的索引?

如何从熊猫系列中获取包含行索引的列表[重复]

如果列表包含布尔值,如何从列表中获取整数的索引?

Java List

向量的所有元素都替换为最后一个对象-java

如果元素存在,则获取容器中元素的索引