List集合接口的先容和利用

藏宝库编辑 2024-9-22 09:46:11 87 0 来自 中国
一.关于List集合类的继承关系图

List接口继承了Collection接口,而List接口下有三个紧张的实现类:ArrayList,LinkedList,Vector

二.List接口的根本先容

1.List接口是Collection接口的子接口
2.存入List集合中的元素是有序的(即添加序次和取出序次是一样的)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        list.add("mary");        System.out.println("list="+list);//输出效果为:list=[jack, 10, true, mary] 添加序次和取出序次是一样的    }3.List集合里的元素是可以重复存入的
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        list.add("mary");        //可以放入重复的数据jack        boolean b = list.add("jack");        System.out.println(b);//输出效果为:true        System.out.println("list="+list);//输出效果为:list=[jack, 10, true, mary, jack]     }4.List集合中的每一个元素都有本身对应的序次索引,即支持索引(索引是从0开始)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        list.add("mary");        list.add("jack");        //获取索引为2的元素,即第三个元素        Object o = list.get(3);        System.out.println(o);//输出效果为:mary    }5.List容器中的元素都对应一个整数型的序号纪录其在容器中的位置,可以根据序号取容器中的元素
6.JDK API中LIst接口的常用的实现类有:ArrayList,LinkedList,Vector
三.List接口的常用方法

由于List接口无法实例化,要想利用List接口的方法我们就用List的实现类ArrayList来演示它的常用方法
1.add(int index,Object o)方法:

在index位置插入o元素。(index表现下标,从0开始。o表现要插入的元素)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        //add(int index,Object o)方法的利用        list.add(1,"小明");        System.out.println("list="+list);//输出效果为:list=[张三, 小明, 李四, 王五]    }2.addAll(int index,Collection c)方法:

在index位置插入多个元素。(index表现下标,从0开始。c表实际现了Collection接口的子类多可以放入。假如元素插入乐成返回true,否则返回false)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        //addAll(int index,Collection c)方法的利用        List newList = new ArrayList<>();        newList.add("小明");        newList.add("小红");        boolean b = list.addAll(1, newList);        System.out.println(b);//输出效果:true        System.out.println("list="+list);//输出效果:list=[张三, 小明, 小红, 李四, 王五]    }3.get(int index)方法:

获取下标为index位置上的元素(index表现下标,从0开始。)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        list.add("mary");        list.add("jack");        //获取索引为2的元素,即第三个元素        Object o = list.get(1);        System.out.println(o);//输出效果为:10    }4.indexOf(Object o)方法:

查找o对象在集合中初次出现的位置,即下标(假如没有就返回-1)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");         list.add("李四");        //indexOf(Object o)方法的利用        int index = list.indexOf("李四");        System.out.println(index);//输出效果为:1    }5.lastIndexOf(Object o)方法:

查找o对象在集合中末次出现的位置,即下标(假如没有就返回-1)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("李四");        //lastIndexOf(Object o)方法的利用        int index = list.lastIndexOf("李四");        System.out.println(index);//输出效果为:3            }6.remove(int index)方法:

移除index位置上的元素,而且返回此元素
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("李四");        //remove(int index)方法的利用        Object o = list.remove(1);        System.out.println(o);//输出效果为:李四        System.out.println("list="+list);//输出效果为:list=[张三, 王五, 李四]    }7.set(int index,Object o)方法:

修改index位置上的元素为o,即为更换,并返回被修改的元素
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("李四");        //set(int index,Object o)方法的利用        Object o = list.set(1, "小明");        System.out.println(o);//输出效果为:李四        System.out.println("list="+list);//输出效果为:list=[张三, 小明, 王五, 李四]    }8.subList(int fromIndex,int toIndex)方法:

返回从fromindex到toIndex位置上的集合(包罗fromIndex位置但是不包罗toIndex位置,即[formIndex,toIndex)。)
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("李四");        //subList(int fromIndex,int toIndex)方法的利用        List newList = list.subList(1, 3);        System.out.println("newList="+newList);//输出效果为:newList=[李四, 王五]    }四.List的三种遍历方式

1.利用Iterator(迭代器)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("李四");        //利用Iterator(迭代器)遍历        Iterator iterator = list.iterator();        while (iterator.hasNext()) {            Object o =  iterator.next();            System.out.println(o);//遍历完终极输出效果为:张三 李四 王五 李四        }    }2.利用曾强for循环

List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("李四");        //利用曾强for循环遍历        for (Object o : list) {            System.out.println(o);//遍历完终极输出效果为:张三 李四 王五 李四        }    }3.利用平凡for循环,纵然用下标遍历(下标从0开始)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("张三");        list.add("李四");        list.add("王五");        list.add("李四");        //利用平凡for循环遍历        for (int i=0;i<list.size();i++){            System.out.println(list.get(i));//遍历完终极输出效果为:张三 李四 王五 李四        }    }参考干系视频(韩顺平老师)
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-24 11:03, Processed in 0.176763 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表