一、Collection

Collection是单列集合的顶层接口,所有方法被List和Set系列集合共享

1.常用成员方法

方法名说明
public boolean add(E e)添加元素
public void clear()清空集合中的元素
public boolean remove(E e)从集合中移除指定的元素
public boolean contains(Object obj)判断集合中是否存在指定的元素
public boolean isEmpty()判断集合是否为空
public int size()集合的长度,也就是集合中元素的个数
    public static void main(String[] args) {
    
        Collection<String> coll = new ArrayList<>();
        /*
        1.添加元素
         */
        coll.add("aaa");
        coll.add("bbb");
        coll.add("ccc");
        System.out.println(coll);

        //2.清空
//        coll.clear();
//        System.out.println(coll);

        //3.删除
        System.out.println(coll.remove("aaa"));
        System.out.println(coll);

        //4.判断元素是否包含
        boolean result = coll.contains("bbb");
        System.out.println(result);

        //5.判断集合是否为空
        System.out.println(coll.isEmpty());

        //6.获取集合长度
        System.out.println(coll.size());
    }

在这里插入图片描述

2.三种遍历方式

2.1 迭代器遍历

迭代器遍历相关的方法

Iterator iterator()获取一个迭代器对象
boolean hasNext()判断当前指向的位置是否有元素
E next()获取当前指向的元素并移动指针
//1.创建集合并添加元素
Collection<String> coll = new ArrayList<>();
coll.add("aaa");
coll.add("bbb");
coll.add("ccc");
coll.add("ddd");

//2.获取迭代器对象
//迭代器类似指针,默认指向集合的0索引处
Iterator<String> it = coll.iterator();

//3.利用循环不断的去获取集合中的每一个元素
while (it.hasNext()){
    //4.next方法:获取元素并移动指针
    String str = it.next();
    System.out.println(str);
}

注意点:
1.结束之后再调用next方法会报错NoSuchException
2.迭代器遍历完毕,指针不会复位
3.循环中只能用一次next方法
4.迭代器遍历时,不能用集合的方法进行增加或者删除

2.2 增强for遍历

格式:
for(集合/数组中元素的数据类型 变量名 : 集合/数组名) {
​   // 已经将当前遍历到的元素封装到变量中了,直接使用变量即可
}

 for (String s : coll) {
            System.out.println(s);
        }

2.3 lambda表达式遍历

 coll.forEach( s -> System.out.println(s));

二、List

List 是 Java 集合框架(java.util.Collection)中的一种有序、可重复的数据结构,允许存储多个元素(包括 null),并通过索引访问元素。

1.List系列集合独有的方法

void add(int index,E element)在此集合中的指定位置插入指定的元素
E remove(int index)删除指定索引处的元素,返回被删除的元素
E set(int index,E element)修改指定索引处的元素,返回被修改的元素
E get(int index)返回指定索引处的元素
 		//1.创建一个集合
        List<String> list = new ArrayList<>();

        //2.添加元素
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        //3.打印集合
        System.out.println(list);

        //在此集合中的指定位置插入指定的元素
        list.add(1, "qqq");
        System.out.println(list);

        //删除指定索引处的元素,返回被删除的元素
        System.out.println(list.remove(2));
        System.out.println(list);

        // 修改指定索引处的元素,返回被修改的元素
        System.out.println(list.set(2, "zzz"));
        System.out.println(list);

        //返回指定索引处的元素
        System.out.println(list.get(2));

在这里插入图片描述

2.List系列集合的五种遍历方式

  • 1.迭代器
  • 2.列表迭代器
  • 3.增强for
  • 4.Lambda表达式
  • 5.普通for循环
//创建集合并添加元素
        List<String> list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        //1.迭代器
        Iterator<String> it = list.iterator();
        while (it.hasNext()){
            System.out.print(it.next());
        }
        System.out.println();
        //2.增强for
        for (String s : list) {
            System.out.print(s);
        }
        System.out.println();
        //3.Lambda表达式
        list.forEach( s -> System.out.print(s));
        System.out.println();
        //4.普通for循环
        //size方法跟get方法还有循环结合的方式,利用索引获取到集合中的每一个元素
        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            System.out.print(s);
        }
        System.out.println();
        //5.列表迭代器
        //获取一个迭代器的对象,里面的指针默认也是指向0索引的
        //额外添加了一个方法,在遍历过程中,可以添加元素
        ListIterator<String> it1 = list.listIterator();
        while (it1.hasNext()){
            String str = it1.next();
            if ("bbb".equals(str)){
                it1.add("qqq");
            }
            System.out.print(str);
        }
        System.out.println();

在这里插入图片描述
五种遍历方式对比

迭代器遍历          在遍历的过程中需要删除元素,请使用迭代器
列表迭代器          在遍历的过程中需要添加元素,请使用列表迭代器
增强for遍历/Lambda表达式   仅仅想遍历,那么使用增强for或Lambda表达式
普通for            如果遍历的时候想操作索引,可以用普通for

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐