Collection集合体系(ArrayList,LinekdList,HashSet,LinkedHashSet,TreeSet,Collections)

2024-03-01 1432阅读

温馨提示:这篇文章已超过390天没有更新,请注意相关的内容是否还可用!

目录

一.Collection

二.List集合

三.ArrayList集合

四.LinkedList集合

五.Set集合             

六.hashSet集合

七.LinkedHashSet集合

八.TreeSet集合

九.集合工具类Collections


Collection集合体系(ArrayList,LinekdList,HashSet,LinkedHashSet,TreeSet,Collections)

集合体系概述

        单列集合:Collection代表单列集合,每个元素(数据)只包含一个值。

        双列集合:Map代表双列集合,每个元素包含两个值(键值对)。

单列集合:

        List系列集合:添加的元素是有序、可重复、有索引

                ArrayList:有序、可重复、有索引

                LinekdList:有序、可重复、有索引

        Set系列集合:添加的元素是无序、不重复、无索引

               HashSet:无序、不重复、无索引

               LinkedHashSet:有序、不重复、无索引

               TreeSet:按照大小默认升序排序、不重复、无索引

一.Collection

为什么要先学Collection的常用方法?

        Collection是单列集合的祖宗,它规定的方法(功能)是全部单列集合都会继承的。

Collection的常用方法:

Collection集合体系(ArrayList,LinekdList,HashSet,LinkedHashSet,TreeSet,Collections)

代码展示:

package com.itheima.day06.teacher.g_collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
/**
 * Collection常用方法
 */
public class CollectionDemo {
    public static void main(String[] args) {
        /*
          Collection 是 ArrayList祖宗
         */
//        Collection con = new ArrayList();//多态
//        ArrayList list = new ArrayList();//本态
        //采用多态?为什么呢?  多态特点  多态下只能调用 父中定义的功能,不会调用子类特有的。
        // 我们要研究是 共性的功能 使用多态
        Collection con = new ArrayList();//多态
        // add()
        con.add("name1");
        con.add("name2");
        con.add("name3");
        con.add("name4");
        System.out.println(con);
        //size() 获取集合长度 元素个数
        System.out.println("集合中有"+con.size()+"个元素");
        // boolean contains(元素)  判断集合中是否包含指定元素
        System.out.println("是否包含张三 "+con.contains("张三"));//false
        System.out.println("是否包含赵四 "+con.contains("赵四"));//true
        //boolean remove(元素)  删除指定元素 返回 是否删除成功
        System.out.println("删除一下:王老七 "+con.remove("王老七"));
        System.out.println(con);
        //情况集合方法 void clear()
        con.clear();
        System.out.println("清空集合之后:"+con);
        // isEmpty() 判断集合是否为空
        System.out.println("con当前是空的吗?"+con.isEmpty());
        // 重写添加数据
        con.add("谢大脚");
        con.add("王小蒙");
        con.add("香秀");
        con.add("王云");
        // Object[] toArray() 变成数组
        Object[] array = con.toArray();
        System.out.println(Arrays.toString(array));
        //扩展一个
        Collection c1 = new ArrayList();//多态
        // add()
        c1.add("name1");
        c1.add("name2");
        c1.add("name3");
        c1.add("name4");
        Collection c2 = new ArrayList();//多态
        // add()
        c2.add("name1");
        c2.add("name2");
        c2.add("name3");
        c2.add("name4");
        c1.addAll(c2);//c2集合内容 批量添加到c1中
        System.out.println(c1);
    }
}

Collection的遍历方式:

1.迭代器:

        迭代器是用来遍历集合的专用方式(数组没有迭代器),在Java中迭代器的代表是Iterator。

        Collection集合获取迭代器的方法  Iterator iterator() 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的第一个元素

        Iterator迭代器中的常用方法:

        boolean hasNext():询问当前位置是否有元素存在,存在返回true ,不存在返回false

        E next():获取当前位置的元素,并同时将迭代器对象指向下一个元素处。

2.增强for循环:

        格式:for (元素的数据类型 变量名 : 数组或者集合) { }

        增强for可以用来遍历集合或者数组。

        增强for遍历集合,本质就是迭代器遍历集合的简化写法。

3.lambda表达式

        得益于JDK 8开始的新技术Lambda表达式,出现了一种更简单、更直接遍历集合的方式-Lambda表达式。

        需要使用Collection的如下方法来完成:default void forEach(Consumer

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]