java集合

------------恢复内容开始------------

集合

  概念:对象的容器,定义了对多个对象进行操作的常用方法。

 与数组的区别:

  1.数组长度固定,集合长度不固定

  2.数组可以存储基本类型和引用类型,集合只能存储引用类型  

   位置:

  java.util.*;

Collection体系集合

   Collection  (根接口) 

    List(接口)   

          特点:有序,有下标,元素可重复

      ArrayList          (类) 数组列表

      LinkedLIst        (类)链表

      Vector              (类,几乎不用)

    Set(接口)

          特点:无序,无下标,元素不能重复

      HashSet   (类)

      SortedSet       (接口)  排序的接口

        TreeSet           (类)

 

 

Collection 父接口

  特点: 代表一组任意类型的对象,无序,无下标,不能重复。

  方法:

  

 

 

Collection接口的使用

    实例化:     Collection   co  =  new  ArrayList();         添加: co.add(“内容”);   删除:co.remove(“内容”);  清空: co.clear();

    遍历:

    1.增强for(看不到下标,所以不用for)

 

       2.迭代器(专门用来遍历集合的一种方式)

        Iterator(接口)    逐渐往下走,直至元素末尾

          hasNext(方法)       判断是否有元素

          next(方法)    下一个

          remove(方法)   删除(可在迭代过程中)

      使用:迭代器中不允许使用collection其他方法

        Iterator     it  = collection。iterator();

        while(it.hasNext()){

         String    s   =(String) it .next;

         System.out.println(s);

          it.remove();

         }

clear 

  只在集合里清除,只删除指针。内容实际还是存在

 

List接口

  有序,有下标,元素可重复;

  add  可在指定位置添加元素

  indexOf  返回元素第一次出现的索引

  subList (始,末) 返回列表指定元素之间的部分视图,左闭右开  List  sb  = list.sb(1,3)

List接口使用

  list.toString   打印列表

  列表迭代器   ListIterator    可以向前或向后遍历,添加add,删除remove,修改set  元素 

 

     previous  倒着遍历

判断

  contains  是否存在

  isEmpty  是否为为空

  indexOf   获取位置 

集合内添加数字类型(基本类型),则会自动装箱,成 integer包装类的数值

  remove删除数值是角标索引删除或者 remove((Object)20)转换成Object类型或者remove(new  Integer(20))转成new Integer类型

        

List实现类

  ArrayList : 数组列表集合  

    数组结构实现,查询快,增减慢;

    运行效率快,线程不安全

  源码分析:默认容量 (添加元素之后)   DEFAULT_CAPACITY  = 10;    如果没有向集合中添加任何元素时,容量为0,每次扩容大小是原来的1.5倍

       elementDate   存放元素的数组

       size       实际元素个数

  Vector

    数组结构实现,查询快,增减慢;

    运行效率慢,线程安全

  LinkedLIst

    链表结构实现,增删快,查询慢

    指向,形成一条链状

        

 Set 

  无序,无下标,元素不可重复

  全部继承自Collection方法

set实现类

  HashSet

    基于HashCode计算元素存放位置

    当存入元素的哈希码相同时,会调用equals进行确认,如结果为true,则拒绝后者加入

    数组+列表+红黑树

    快速添加HasjCOde的equals方法

  TreeSet

    基于排列顺序实现元素不重复。

    实现了SortedSet接口,对集合元素自动排排序

    元素对象的类型必须实现Comparable接口,指定排序规则

     通过CompareTo方法确定是否为重复元素

 

Map集合

   Map接口的特点:

      1.用于存储任意键值对(Key-Value)

      2.键:无序,无下标,不允许重复(唯一)

      3.值:无序,无下标,允许重复   

方法:

  V  put  (K key , V  value)    将对象存入集合中,关联键值。key重复则覆盖原值。

 

 

------------恢复内容结束------------

posted @   分析虎  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示