如何通过比较获取我添加到linkedList的对象的索引?以下代码将阐述我的问题。 (我已经展示了一个虚拟的linkList函数来解释这个问题)
LinkedList<String> list = new LinkedList<String>();
for(int i = 0; i < 10; i++) {
String j = "HELLO";
list.add(j);
System.out.println(list.findOccurrenceOfCurrentItemInList(j) + ""); // should display the value of i
}
答案 0 :(得分:3)
好的,如果你需要参考比较,你必须使用类似的东西:(未经测试)
static <T> int indexOfRef(Iterable<T> src, T value) {
int i = 0;
for (T it : src) {
if (it == value)
return i;
++i;
}
return -1;
}
为了以相反的顺序进行,请创建从头到尾的迭代器,并相应地更改计数器。
请注意,在LinkedList中,您找不到比O(n)(线性搜索)更快的元素,List<T>
实现Iterable<T>
,因此您可以免费获得与其他类型的兼容性。
答案 1 :(得分:2)
public class Test {
public static void main(String args[])
{
LinkedList<String> dataList = new LinkedList<String>();
for(int i=0;i < 5;i++)
{
dataList.add("test"+i);
}
System.out.println(dataList.indexOf("test3"));
}
}
我希望它会对你有帮助.....