实例化:List[<;数据类型>] list = new ArrayList<;数据类型>;
获得集合内元素个数:list.size();
添加元素:
默认添加:list.add(e);
指定下标添加(添加后下标后的元素向后挪一位):list.add(index,e);
删除元素:
返回是否删除:list.remove(e);
直接删除指定下标的元素(只删除找到的第一个相符合的元素):list.remove(index);
替换元素(替换掉指定下标的元素):list.set(index,e);
取出元素:list.get(index);
清空集合:list.clear();
判断集合中是否存在某个元素(存在返回true,不存在返回false):list.contains(e);
对比两个集合中的所有元素:
两个对象一定相等:list.equals(list2);
两个对象不一定相等:list.hashCode() == list2.hashCode();
(两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象。)
获得元素下标:
元素存在则返回找到的第一个元素的下标,不存在则返回-1:list.indexOf(e);
元素存在则返回找到的最后一个元素的下标,不存在则返回-1:list.lastIndexOf(e);
判断集合是否为空(空则返回true,非空则返回false):list.isEmpty();
返回Iterator集合对象:list.iterator();
将集合转换为字符串:list.toString();
截取集合(从fromIndex开始在toIndex前结束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);
将集合转换为数组:
默认类型:list.toArray();
指定类型(objects为指定类型的数组对象,并将转换好的数组赋值给objects数组):list.toArray(objects);
boolean add(E e);
List接口继承Collection接口 add方法,使用操作和Collection一致,并且这
里采用的添加方式是【尾插法】
boolean add(int index, E e);
List接口【特有方法】,在指定位置,添加指定元素。
boolean addAll(Collection<? extends E> c);
List接口继承Collection接口 addAll方法,使用操作和Collection一致,并
且这里采用的添加方式是【尾插法】
boolean addAll(int index, Collection<? extends E> c);
List接口【特有方法】,在指定下标位置,添加另一个集合中所有内容
删
E remove(int index);
List接口【特有方法】,获取指定下标位置的元素。
boolean remove(Object obj);
List接口继承Collection接口方法。删除集合中的指定元素
boolean removeAll(Collection<?> c);
List接口继承Collection接口方法。删除当前集合中和参数集合重复元素
boolean retainAll(Collection<?> c);
List接口继承Collection接口方法。保留当前集合中和参数集合重复元素
clear();
List接口继承Collection接口方法。清空整个集合中的所有元素
改
E set(int index, E e);
List接口【特有方法】,使用指定元素替代指定下标的元素,返回值是被替换的元
素
查
int size();
List接口继承Collection接口方法。获取集合中有效元素个数
boolean isEmpty();
List接口继承Collection接口方法。判断当前集合是否为空
boolean contains(Object obj);
List接口继承Collection接口方法。判断指定元素是否包含在当前集合中
boolean containsAll(Collection<?> c);
List接口继承Collection接口方法。判断参数集合是不是当前集合在子集合
Object[] toArray();
List接口继承Collection接口方法。获取当前集合中所有元素Object数组
E get(int index);
List接口【特有方法】。获取指定下标对应的元素
List<E> subList(int fromIndex, int toIndex);
List接口【特有方法】。获取当前集合指定子集合,从fromIndex开始,到
toIndex结束。fromIndex <= 范围 < toIndex
int indexOf(Object obj);
List接口【特有方法】。获取指定元素在集合中第一次出现位置
int lastIndexOf(Object obj);
List接口【特有方法】。获取指定元素在集合中最后一次出现的位置
代码演示
package com.qfedu.a_list;
import java.util.ArrayList;
import java.util.List;
public class Demo1 {
public static void main(String[] args) {
/*
* List是一个接口,没有自己的类对象,这里使用List接口的
* 实现类ArrayList来演示代码。
*/
List list = new ArrayList();
/*
* 添加方法演示
*/
list.add("浓郁咖啡摩卡");
list.add("浓郁咖啡拿铁");
list.add("焦糖玛奇朵");
list.add("摩卡可可碎星冰乐");
list.add("可可卡布奇诺");
System.out.println(list);
list.add(3, "美式咖啡");
System.out.println(list);
List<String> list2 = new ArrayList<String>();
list2.add("肥宅快乐水");
list2.add("芬达");
list2.add("雪碧");
list2.add("冰峰");
list.addAll(4, list2);
System.out.println(list);
/*
* 删除方法
*/
String remove = list.remove(1);
System.out.println(remove);
System.out.println(list);
// 条件过滤,这里使用了JDK1.8 新特征 Lambda表达式和函数式接口 【后期知识点】
list.removeIf((str) -> str.length() > 4);
System.out.println(list);
}
}
public class Demo2 {
public static void main(String[] args) {
/*
* List是一个借口,没有自己的类对象,这里使用List接口的
* 实现类对象ArrayList来演示代码
*/
List list = new ArrayList();
/*
* 添加方法演示
*/
list.add("浓郁咖啡摩卡");
list.add("浓郁咖啡拿铁");
list.add("焦糖玛奇朵");
list.add("摩卡可可碎星冰乐");
list.add("可可卡布奇诺");
list.add("肥宅快乐水");
list.add("芬达");
list.add("雪碧");
list.add("冰峰");
list.add("浓郁咖啡摩卡");
list.add("浓郁咖啡拿铁");
list.add("焦糖玛奇朵");
list.add("摩卡可可碎星冰乐");
list.add("可可卡布奇诺");
list.add("肥宅快乐水");
list.add("芬达");
list.add("雪碧");
list.add("冰峰");
/*
* 替换修改方法
*/
String str = list.set(3, "细思极恐");
System.out.println(str);
System.out.println(list);
/*
* 查询系统方法
*/
//获取指定位置下标的元素
String string = list.get(1);
System.out.println(string);
//从指定位置开始,到目标位置结束,获取对应的子集合
List<String> subList = list.subList(2, 5);
System.out.println(subList);
int indexOf = list.indexOf("芬达");
System.out.println(indexOf);
int lastIndexOf = list.lastIndexOf("芬达");
System.out.println(lastIndexOf);
System.out.println(list.size());
}
}