前言
list接口存储数据的特征是有序的,可循环的。list有两个常用的实现类ArrayList和LinkedList。
一、list常用的方法
List常用的方法:
增:boolean add(E e);将将指定的元素追加到此列表的末尾
void add(int index, E e);在指定的位置上插入一个元素
boolean addAll(int index, Collection<? extends E> e);将一个集合插入到另外一个集合的指定的位置
删:
E remove(int index);通过索引来删除指定的元素。返回的是被删除的元素
改:
E set(int index, E e); 通过指定的索引修改数据元素,返回值是被修改的原数据void clear();从此列表中删除所有元素
查:
E get(int index); 通过索引下标去获取指定元素
int indexOf(Object obj);通过元素获取指定的下标的
int lastIndexOf(object obj);通过元素获取最后一次出现的元素的下标
List<E> subList(int formIndex, int toIndex);截取一部分出来
public class Test1 {
public static void main(String[] args) {
Collection list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
Collection list1 = new ArrayList<>();
list1.add("张三");
list.addAll(list1);//将list1添加到list
System.out.println(list.addAll(list1));
list.remove("李四");
list.removeAll(list1);
System.out.println(list);
System.out.println(list.size());//查看集合中元素的个数
}
}
二、遍历数据的方式
1.for循环
代码如下(示例):
public class Test2 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
Object[] obj = list.toArray();//转为数组,for循环遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(obj[i]);
}
}
}
2.增强for循环
代码如下(示例):
public class Test3 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
for (String s : list) {//快捷键iter
System.out.println(s);
}
}
}
3.迭代器
代码如下(示例):
public class Test4 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){//hasNext()判断一个集合中是否有下一个元素
System.out.println(iterator.next());//会返回当前光标下面的元素。并把光标挪到下一元素的位置
}
}
}