Java学习笔记118——List接口

List接口

Collection下的子接口:List

有序集合(有序指的是存储和取出的顺序一致) 允许重复的元素

public class ListDemo1 {
    public static void main(String[] args) {
        //创建List集合对象,使用接口多态的形式创建
        List list = new ArrayList();
​
        list.add("hello");
        list.add("world");
        list.add("java");
        list.add("bigdata");
​
        Iterator iterator = list.iterator();
​
        while (iterator.hasNext()) {
            Object next = iterator.next();
            //向下转型
            String s = (String) next;
            System.out.println(s + ",长度为:" + s.length());
        }
    }
}

List相关集合特有的功能

因为List集合拥有下标索引,所以根据这个下标索引衍生出特有方法

添加功能: void add(int index,Object element) 将指定的元素插入此列表中的指定位置(可选操作)。

删除功能: Object remove(int index) 删除该列表中指定位置的元素(可选操作)。

获取功能: Object get(int index) 返回此列表中指定位置的元素。

修改功能: Object set(int index,Object element) 用指定的元素(可选操作)替换此列表中指定位置的元素。

List特有迭代器: ListIterator<E> listIterator() 返回列表中的列表迭代器(按适当的顺序)。

public class ListDemo2 {
    public static void main(String[] args) {
        //创建List集合对象
        List list = new ArrayList();
​
        //添加元素到集合中
        list.add("hello");
        list.add("world");
        list.add("java");
        list.add("hadoop");
        System.out.println(list);
        System.out.println("===============================");
​
        //void add(int index,Object element)
        //将指定的元素插入此列表中的指定位置(可选操作)。
        //如果指数超出范围( index < 0 || index > size() )
        list.add(0, "hive");
        System.out.println(list);
        list.add(5, "spark");
        System.out.println(list);
        //IndexOutOfBoundsException: Index: 7, Size: 6
//        list.add(7, "flink");
//        System.out.println(list);
        System.out.println("********************************");
        //Object remove(int index)
        //删除该列表中指定位置的元素(可选操作)。
        //返回被删除的元素,类型为Object类型
        Object obj = list.remove(0);
        System.out.println(obj);
        System.out.println(list);
        System.out.println("******************************");
        //Object get(int index)
        //返回此列表中指定位置的元素。
        //不改变原集合中的元素
        Object obj2 = list.get(3);
        System.out.println(obj2);
        System.out.println(list);
        System.out.println("******************************");
        //Object set(int index,Object element)
        //用指定的元素(可选操作)替换此列表中指定位置的元素。
        //返回的是指定位置被替换的元素
        Object obj3 = list.set(3, "flink");
        System.out.println(obj3);
        System.out.println(list);
​
        System.out.println("******************************");
        //获取迭代器对象
        Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            String s = (String) iterator.next();
            System.out.println(s + ",长度为:" + s.length());
        }
    }
}

List集合特有的遍历方式:

size()方法和get()方法的结合使用,此方法只适用于list集合的遍历

public class ListDemo3 {
    public static void main(String[] args) {
        //创建集合对象
        List list = new ArrayList();
​
        //向集合中添加元素
        list.add("hello");
        list.add("world");
        list.add("java");
        list.add("bigdata");
​
        //size()方法和get()方法的结合使用
        for (int i = 0; i < list.size(); i++) {
            Object obj = list.get(i);
​
            //向下转型
            String s = (String) obj;
            System.out.println(s + ",长度为:" + s.length());
        }
    }
}
posted @ 2021-12-19 11:02  欧朋  阅读(41)  评论(0)    收藏  举报