java中 如何从LIST 查找指定元素的位置

2024-11-27 21:50:05
推荐回答(5个)
回答(1):

//先用contains判断是否有该元素

if(list集合.contains(对象)){

list集合.indexOf(对象名);

}

因为List 是一个元素有序的、可以重复、可以为 null 的集合;

所以;

indexOf可以获取元素出现的第一个位置的引索,与之相反的是lastlndexOf获取元素最后出现的位置引索,如果集合中没有该元素则返回-1,其原理都是利用equals方法配合历遍来判断。

扩展资料:

C++中list用法详解

.1list中的构造函数:

list() 声明一个空列表;

list(n) 声明一个有n个元素的列表,每个元素都是由其默认构造函数T()构造出来的

list(n,val) 声明一个由n个元素的列表,每个元素都是由其复制构造函数T(val)得来的

list(n,val) 声明一个和上面一样的列表

list(first,last) 声明一个列表,其元素的初始值来源于由区间所指定的序列中的元素

回答(2):

lastIndexOf
int lastIndexOf(Object o)返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i;如果没有这样的索引,则返回 -1。

参数:
o - 要搜索的元素
返回:
列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1
抛出:
ClassCastException - 如果指定元素的类型和此列表不兼容(可选)
NullPointerException - 如果指定的元素是 null,并且此列表不允许 null 元素(可选)

回答(3):

List list = new ArrayList();
......
Object oldObj = ...
Object newObj = ...
int index = list.indexOf(oldObj);
if(index!=-1){
list.add(index,newObj);
list.remove(index+1);
}
......

如果以上操作有问题,你的类可能需要实现 Comparable 接口

回答(4):

怎么也要遍历一次,就看你遍历的是数据库还是你的list集合。

回答(5):

int i = list.indexOf(你要查的元素);