Java 集合框架

java 集合框架

 

List:不唯一,有序 ArrayList LinkList
        和数组类似,可以动态增长,根据实际存储的长度自动增长List的长度
        查找元素效率高,插入和删除效率低,插入和删除会引起元素位置的改变

Set :唯一,无序 HashSet TreeSet

        检索效率低,插入和删除效率高

Map: HashMap

        存储Key-value 键值对,key 到 value 的映射

ArrayList


       1.是一个可以动态修改的数组,与普通数组的区别是没有固定大小的限制。
  2.继承了abstract接口,实现了List 接口。
  3.是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。

  ArrayList<E> arraylist = new ArrayList<>();

  E :泛型数据类型,只能为引用数据类型。

  基本数据类型 引用类型

  byte Byte
  short Short
  int Integer
  long Long
  float Float
  double Double
  boolean Boolean  
    char Character


常用方法:
  add(); 添加元素
  get(); 通过索引值获取元素
  size(); 返回元素的个数

  indexOf(); 返回某个元素的索引值
  contains(); 判断是否包含某个元素
  clear(); 删除所有元素
  remove(); 删除某个元素
  removeAll();删除所有元素
  isEmpty(); 判断arraylist是否为空
  sort(); 排序
  toArray(); 转换为数组
  toString(); 转换为字符串
  subList(); 截取部分元素
  addAll(index,Collection c); 将集合全部添加进去,也可指定位置




 HashMap

  HashMap是一个散列表,存储的是键值对(key-value)映射。
  HashMap是无序的,不会记录插入的顺序。
  HashMap的key-value可以相同,也可以不同。
  HashMap实现了Map接口,具有很快的访问速度,最多允许一条记录的键为 null ,不支持线程同步


  用途:可以用来记录某个元素出现的次数。

常用方法
  hashmap.put(); 添加元素
  hashmap.size(); map集合中键值对的数量
  hashmap.get(); 通过key获取对应的value

  hashmap.containsKey(); map集合中是否包含相对应的key值
  hashmap.containsValue(); map集合中是否包含相对应的value值

  hashmap.getOrDefault(value, default value); 获取key对应的value,若不存在,则返回default value。
  hashmap.remove(key); 删除映射关系
  hashmap.remove(key,value); 删除映射关系
  hashmap.isEmpty(); 判断hashmap 是否为空


  哈希表 只能有一个key,相同的key赋值的value会被最后一个覆盖,value可以重复。

 


HashSet:

  是基于HashMap来实现的,是一个不允许有重复元素的集合
  HashSet允许有 null值
  HashSet 是无序的,不会记录插入的顺序
  HashSet 不是线程安全的,如果多个线程尝试修改HashSet,最终结果是不确定的
  必须在多线程访问时显式同步对HashSet的并发访问
  HashSet实现了 set 接口

 

 

常用方法:

  add(); 将指定元素添加到集合中
  contains();是否某个元素
  size(); 集合中元素个数


  isEmpty(); 集合中是否包含元素
  clear(); 删除集合中所有的元素
  remove(); 删除集合中指定的元素


Stack:
  栈是Vector的一个子类,实现了标准的后进先出的栈

  两种方式初始化 Stack:

  Stack stack = new stack();
  Stack<Integer>stack = new Stack<>();

常用方法:
  push();将元素压入栈中
  pop(); 移除栈顶的元素,并返回次元素的值
  peek();返回栈顶元素

  empty();判断栈是否为空
  search();返回元素在栈中的位置,栈顶元素为 1

posted @ 2021-08-30 14:46  IIIamzx  阅读(35)  评论(0)    收藏  举报