1:List的描述:List接口是集合Collection的子接口,存储有序的、可重复的数据(本质上List相当于一个动态的数组)。 并且List集合默认按照元素的添加顺序来对应元素的索引。
2:List中的常用的方法:
1):add(Object obj) 或者是add(int index, Object obj)
作用:将Object类型的元素添加到集合的末尾/将Object类型的元素添加到指定的位置。
2): remove(int index)或者是remove(Object o)
作用: 将对应索引位置的元素删去/将集合中的所对应的的o元素删除
3):set(int index, Object o)
作用: 将指定索引的的元素替换为指定的元素
4):get(int index)
作用:返回指定索引的元素
5):size()
作用:返回集合中元素的个数
6):iterator()
作用:以正确的顺序返回此列表中元素的迭代器。
7):contains(Object o)
作用:如果此集合中包含指定的元素,则返回true。
3.关于遍历集合的两种方法:
1)使用Iterator迭代器, 迭代器中使用hasNext() 和Next()方法
2)使用增强for循环, for( Object o: 集合对象)
import org.junit.Test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Arraytest {
@Test
public void show() {
List list = new ArrayList();
list.add(123);
list.add(new String("hello"));
list.add(new Person("tom", 18));
list.add("test");
System.out.println(list.contains(new Person("tom", 18)));
//注意使用contains方法时自定义类要重写equals方法
System.out.println(list.size());//集合元素的个数
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
运行结果:
使用增强for循环:
import org.junit.Test;
import java.util.ArrayList;
import java.util.List;
public class Arraytest {
@Test
public void show() {
List list = new ArrayList();
list.add(123);
list.add(new String("hello"));
list.add(new Person("tom", 18));
list.add("test");
System.out.println(list.contains(new Person("tom", 18)));
//注意使用contains方法时自定义类要重写equals方法
System.out.println(list.size());//集合元素的个数
// Iterator iterator = list.iterator();
// while (iterator.hasNext()) {
// System.out.println(iterator.next());
// }
for (Object obj : list) {
System.out.println(obj);
}
}
}
结果与迭代器运行一样
注意的点:自定义类在使用集合时一般情况下要重写equals方法和to String方法,否则输出的结果是自定义类对象的地址值