List接口和常用方法

List接口基本介绍

List接口是Collection接口的子接口

  • List集合类中元素有序(即添加顺序和取出顺序一致)、且可重复
  • List集合中的每个元素都有其对应的顺序索引,即支持索引
  • List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素
  • JDK API中List接口的实现类中常用的有:ArrayList、LinkedList、Vector
public class List_ {
    @SuppressWarnings({"null"})
    public static void main(String[] args) {
        List list = new ArrayList();//向上转型
        //1,List集合中元素有序(添加和取出顺序一致) 且可以重复
        list.add("jack");
        list.add("tom");
        list.add("mary");
        list.add("zl");
        list.add("tom");
        System.out.println("list=" + list);
        //2,List集合每个元素都有对应的顺序索引,且索引是从0开始
        System.out.println(list.get(1));//tom

    }
}

结果
在这里插入图片描述

List接口的常用方法

  • 1,插入元素 add(int index,Object ele):在index位置插入ele元素
  • 2,添加多个其他集合的元素 addAll(int index,Collection eles):从原集合的index位置开始,将eles中所有元素添加进来
  • 3,获取指定index位置的元素:get(int index)
  • 4,获取首次出现的位置:indexOf(Object obj):返回obj在集合中首次出现的位置
  • 5,获取末次出现的位置:lastIndexOf(Object obj):返回obj在集合中末次出现的位置
  • 6,移除指定位置元素,并返回次元素:remove(int index)
  • 7,替换制定位置元素:set(int index,Object ele)
  • 8,返回子集合:subList(int fromIndex,int toIndex):返回从fromIndex到toIndex的子集合
    注意子集合:fromIndex<=subList<toIndex
public class List_ {
    @SuppressWarnings({"null"})
    public static void main(String[] args) {
        List list = new ArrayList();//向上转型
        list.add("张三丰");
        list.add("贾宝玉");
        //1,插入元素 add(int index,Object ele):在index位置插入ele元素
        list.add(0, "zl");
        System.out.println("list=" + list);

        //2,添加多个其他集合的元素 addAll(int index,Collection eles):从原集合的index位置开始,将eles中所有元素添加进来
        List list1 = new ArrayList();
        list1.add("jack");
        list1.add("tom");
        list.add(2, list1);
        System.out.println("list=" + list);

        //3,获取指定index位置的元素:get(int index)
        System.out.println(list.get(0));//zl

        //4,获取首次出现的位置:indexOf(Object obj):返回obj在集合中首次出现的位置
        System.out.println(list.indexOf("zl"));//0

        //5,获取末次出现的位置:lastIndexOf(Object obj):返回obj在集合中末次出现的位置
        list.add(3,"zl");
        System.out.println(list.lastIndexOf("zl"));//3

        //6,移除指定位置元素,并返回次元素:remove(int index)
        list.remove(0);
        System.out.println("list="+list);

        //7,替换制定位置元素:set(int index,Object ele)
        list.set(1,"玛丽");
        System.out.println("list="+list);

        //8,返回子集合:subList(int fromIndex,int toIndex):返回从fromIndex到toIndex的子集合
        //注意子集合:fromIndex<=subList<toIndex
        List subList1 = list.subList(1, 3);
        System.out.println("subList1="+subList1);

    }
}

在这里插入图片描述

List的三种遍历方式

说明:LinkedList和ArrayList的使用方式是一样的

  • 方式一:使用iterator(迭代器)
    Iterator iter = col.iterator();
    while(iter.hasNext())
    {Obiect o =iter.next}
  • 方式二:使用增强for
    for(Object o:col){
    }
  • 方式三:使用普通for
    for(int i = 0 ;i<list.size();i++){
    Object object = list.get(i);
    System.out.println(object);}
public class ListFor {
    @SuppressWarnings({"null"})
    public static void main(String[] args) {
        //List 接口的实现子类 ArrayList LinkedList Vector
        List list1 = new ArrayList();
        List list2 = new Vector();
        List list = new LinkedList();
        list.add("jack");
        list.add("tom");
        list.add("鱼香肉丝");
        list.add("北京烤鸭子");

        //1,迭代器
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            Object obj =  iterator.next();
            System.out.println(obj);
        }

        //2,增强for
        System.out.println("====增强for========");
        for(Object o:list){
            System.out.println(o);
        }

        //3,使用普通for
        System.out.println("=========普通for=========");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值