java集合专题之Collection接口

1.背景

集合是java中非常重要的技术点,也是面试经常问到的技术点....

2.集合体系

单列集合

 

 双列集合,key value集合

 

 如果出去面试,这体系应该可以背出来,才算合格

3.常用方法

代码如下:

package com.ldp.collection.demo01;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author 姿势帝-博客园
 * @address https://www.cnblogs.com/newAndHui/
 * @WeChat 851298348
 * @create 02/27 6:20
 * @description <p>
 * 要点
 * 1.是否可以重复存放元素.
 * 2.是否有序,list有序,set无序.
 * </p>
 */
public class Test01Collection {
    /**
     * 常见方法测试
     */
    @Test
    public void test01ArrayList() {
        List list = new ArrayList();
        // 添加
        list.add("张无忌");
        list.add(18);
        list.add(true);
        System.out.println("list=" + list);

        //  删除
        //list.remove(1);//删除第二个元素
        list.remove("张无忌");//指定删除某个元素
        System.out.println("list=" + list);

        // 判断是否存在
        System.out.println(list.contains("张无忌"));

        // 集合长度
        System.out.println(list.size());

        // 判断是否为空
        System.out.println(list.isEmpty());

        // 清空集合
        list.clear();
        System.out.println("list=" + list);

        // 添加多个元素
        ArrayList list2 = new ArrayList();
        list2.add("张三丰");
        list2.add("金毛狮王");
        list.addAll(list2);
        System.out.println("list=" + list);

        // 查找是否都存在
        System.out.println(list.containsAll(list2));

        // 删除多个元素
        list.removeAll(list2);
        System.out.println("list=" + list);
    }

    /**
     * 集合遍历与迭代器使用
     * 1.Iterator叫做迭代器,用于遍历集合Collection中的元素,仅用于遍历集合,本身并不存放对象;
     * 2.在一边查找一边删除时,必须使用迭代器的方式
     * 3.使用迭代器的必备步骤: 1.获取一个迭代器iterator();2.判断是否有下一个hasNext();3.获取下一个元素next()
     */
    @Test
    public void test02Iterator() {
        List list = new ArrayList();

        // 获取一个迭代器
        Iterator iterator = list.iterator();
        // 判断是否有下一个
        while (iterator.hasNext()) {
            // 获取下一个元素
            System.out.println(iterator.next());
        }
    }
}
View Code

 

4.List集合特点

* list的特点
* 1.元素有序(添加顺序和取出顺序一致),可以添加重复的元素,也可以加入null对象,实际生产中最常使用;
* 2.每个值都有索引,可以根据索引存取元素
* 3.实现类型ArrayList\LinkedList\Vector

5.ArrayList源码解读

见:https://www.cnblogs.com/newAndHui/p/16101626.html

 

完美!

posted @ 2022-03-27 18:41  李东平|一线码农  阅读(61)  评论(0编辑  收藏  举报