//先用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) 声明一个列表,其元素的初始值来源于由区间所指定的序列中的元素
lastIndexOf
int lastIndexOf(Object o)返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i;如果没有这样的索引,则返回 -1。
参数:
o - 要搜索的元素
返回:
列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1
抛出:
ClassCastException - 如果指定元素的类型和此列表不兼容(可选)
NullPointerException - 如果指定的元素是 null,并且此列表不允许 null 元素(可选)
List
怎么也要遍历一次,就看你遍历的是数据库还是你的list集合。
int i = list.indexOf(你要查的元素);