一、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编程工具,助力开发者即刻编程。

更多推荐