栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java集合体系

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java集合体系

集合:(集合会自动扩容)         Collection(单列)

                List(可重复):ArrayList,linkedList

                Set(不可重复):HashSet,TreeSet

        Mat(双列)

                HashMap,TreeMatp

Collection,List,Set,Map:是接口

ArrayList,linkedList,HashSet,TreeSet,HashMap,TreeMatp:是实现类

小结:

        1,数组的长度是不可变的,集合的长度是可变的。

        2,数组可以存储基本数据类型和引用数据类型

             集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类。

Collection集合概述和使用 Collection集合概述:

        Collection是单列集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素

        JDK不提供此接口的任何直接实现,它提供更具体的子接口(Set和List)实现

船舰Collection集合的对象

        多态的方式

        具体的实现类ArrayList

Collection集合常用方法
方法名说明
boolean add(E e);添加元素
boolean remove(Object o);从集合中移除指定的元素
boolean removeif(Object o);根据条件进行删除
void clear();清空集合
boolean contains(Object o);判断集合中是否存在指定的元素
boolean isEmpty();判断集合是否为空
int size();集合的长度,也就是集合中元素的个数

            boolean removeif(Object 0 ) 根据条件进行删除

               removeif底层会遍历集合,得到集合中的每一个元素

                s依次表示集合中的每一个元素

                就会把者每一个元素都到lambda表达式中判断一下

                如果返回是true,则删除

                如果返回是false,则保留不删除

Collection collection = new ArrayList<>();
collection.removeIf(
    (String s)->{
        return s.length() == 3;
     }
);
Collection集合的遍历

        Iterator :迭代器,集合的专用遍历方式

        Iterator iterator(); 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引。

        Iterator中的常用方法

                Iterator iterator();创建迭代器对象,默认指向当前集合的0索引

                  boolean hasNext();判断当前位置是否有元素可以被取出

                  E next();获取当前位置的元素

                                        将迭代器对象移向下一个索引位置

增强for循环

        增强for:简化数组和collection集合的遍历

        它是JDK5以后出现的,其内部原理是一个Iterator迭代器

        实现Iterable接口的类才可以使用迭代器和增强for

增强for的格式:

        for(元素数据类型 变量名:数组或者collection集合){

                        //在此处使用变量即可,该变量就是元素

        }

ArrayList list = new ArrayList<>();
for(String s:list){
    System.out.pringln(s);
}

//1,数据类型一定是集合或者数组中的元素类型

//2,s仅仅是一个变量名而已,在循环的过程中,依次表示集合或则数组中的每一个元素

//3,list就是要遍历的集合或者数组

三种循环的使用场景

如果需要操作索引,使用普通for循环

如果在遍历过程中需要删除元素,使用迭代器

如果仅仅是遍历,那么使用增强for

list集合概述和特点 List集合概述

        有序集合,这里的有序指的是存取顺序

        用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素

List集合特点

        有序:存储和取出的元素顺序一致

        有索引:可以通过索引操作元素

        可重复:存储的元素可以重复

List集合特有方法

        

方法名说明
void add(int index ,E element);在此集合中的指定位置插入指定的元素

E remove(int index);

删除指定索引处的元素,返回被删除的元素
E set(int index ,E element)修改指定索引处的元素,返回被修改的元素

E get(int index)  ;

返回指定索引处的元素

添加元素后,原来位置上的元素往后挪一个索引

List集合中有两个remove方法:

        第一个:删除指定的元素,返回值表示当前元素是否删除成功

        第二个:删除指定索引的元素,返回值表示实际删除的元素

数据结构

数据结构是计算机存储,组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来跟高的运行或者存储效率。

数据结构有:

栈:栈是一种数据先进后出的模型

队列:队列是一种数先进先出的模型

数组:数组是一种查询快,增删慢的模型

        查询数据通过地址值和索引定位,查询任意数据耗时相同,查询速度快

        删除数据时,要将原始数据删除,同时后面每个数据前移,删除效率低

        添加数据时,添加位置后的每个数据后移,再添加元素,添加效率极低

链表:链表是由一个一个节点组成的,一个节点是由数据和地址值组成的

 链表是一种增删快,查询慢的模型(对比数组)

查询数据必须从头(head)开始查询

链表分为:单向链表和双向链表

List集合常用实现类

List集合常用子类

ArrayList:底层数据结构是数组,查询快,增删慢

linkedList:底层数据结构是链表,查询慢,增删快

linkedList集合特有功能
方法名说明
public void addFirst(E e );在该列表开头插入指定的元素
public void addLast(E e);将指定的元素追加到此列表的末尾
public E getFirst();返回此列表中的第一个元素
public E getLast();返回此列表中的最后一个元素
public E removeFirst();从此列表中删除并返回第一个元素
public E removeLast();从此列表中删除并返回最后一个元素

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345266.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号