Java中List接口里的方法及代码演示

264 阅读3分钟

​ Collection将集合分为两类:List集合以及Set集合,本文先介绍List集合,下片再介绍Set集合。

​ List接口的特点:

1.存储有序,例如:存元素的顺序是11、22、33。那么集合中,元素的存储就

是按照11、22、33的顺序完成的)

2.可以重复

3.可以存储Null值

4.部分自己和线程安全,部分不安全,如:ArrayList,Vector

5.有索引,针对每个元素能够方便的查询和修改

6.判断元素是否重复依赖于equals方法:如果元素是系统类,不需要重写equals方法,如果是自定义类,就需要我们重写equals方法

​ List子接口的定义:

public interface List extends Collection

​ List接口常用的子类:ArrayList(数组),LinkedList(双向链表结构)

List接口的常用方法:

1.add(int index,E element) add(int index,Collection<? extends E> c)

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");
        for (String l: list
             ) {
            System.out.println(l);
        }
    }
}

输出结果:

image.png

2.remove(Object o),remove(int index)

从列表中删除指定元素的第一个匹配项,从列表中删除指定位置的元素。

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");
        list.remove(0);
        list.remove("小红");
        for (String l: list) {
            System.out.println(l);
        }
    }
}

输出结果:

image.png

3.遍历输出所有元素

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");

        for (String l: list) {
            System.out.println(l);
        }

        System.out.println(list.contains("张三"));
        System.out.println(list.contains("小黑"));
    }
}

image.png 4.indexOf(Object o)

返回此列表中第一次出现的指定元素的索引,如果此列表不包含该元素,则返回-1。

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");
       /* for (String l: list) {
            System.out.println(l);
        }*/
        int i1 = list.indexOf("小白");
        int i2 = list.indexOf("小蓝");
        System.out.println(i1);
        System.out.println(i2);
    }
}

image.png

5.iterator()

以适当的顺序返回列表中的元素。

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");
        Iterator<String> iterator = list.iterator();
        while(iterator.hasNext()){
            String string = iterator.next();
            System.out.println(string);
        }
    }
}

image.png 6.set(int index , E element)

用指定的元素替换此列表中指定位置的元素(可选操作)。

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");
        list.set(3,"小黑");
        Iterator<String> iterator = list.iterator();
        while(iterator.hasNext()){
            String string = iterator.next();
            System.out.println(string);
        }
    }
}

image.png 7.toArray()

以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组。

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");
        list.set(3,"小黑");
        Object[] objects = list.toArray();
        //Arrays包含用于操作数组的各种方法(例如排序和搜索)。
        // 返回指定数组内容的字符串表示形式。
        System.out.println(Arrays.toString(objects));
    }
}

image.png 8.toArray(T[ ] a)

以适当的顺序返回包含此列表中所有元素的数组(从第一个元素到最后一个元素); 返回数组的运行时类型是指定数组的运行时类型。 这个泛型在确定的时候必须是list中元素类型的父类或本身.

public class myList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add(0,"小白");
        list.add(3,"小红");
        list.set(3,"小黑");
        String[] strings = list.toArray(new String[6]);
        System.out.println(Arrays.toString(strings));
    }
}

image.png 希望此文对你有帮助~