首页 > 其他分享 >集合

集合

时间:2023-10-08 23:44:51浏览次数:35  
标签:key HashMap 链表 数组 红黑树 集合 LinkedHashMap

Java集合

MAP
  • HashMap Java7(数组、链表)Java8(数组、链表、红黑树)

    • key不许重复 所以只允许有一个null

    • 无顺序,初始容量16,负载因子0.16

  • TreeMap (红黑树)

    • key默认升序

  • LinkedHashMap

    • 插入顺序或者最近最少使用顺序LRU

  • HashTable(不推荐,同步以至效率低)考虑并发用ConcurrentHashMap

LIST
  • ArrayList 数组、不安全;查询快,删改慢;不好扩容,一般容量是10,扩容1.5倍

  • LinkedList 链表,插入删除快

  • 并发访问 Collections.synchronizedList()进行包装

  • vector 安全,慢,不建议

SET
  • HashSet 底层是HashMap

  • TreeSet 排序,必须可比大小

  • LinkedHashSet 底层LinkedHashMap

QUEUE 先入先出、后入先出
  • PriorityQueue 优先队列

标签:key,HashMap,链表,数组,红黑树,集合,LinkedHashMap
From: https://www.cnblogs.com/wyx-5555/p/17750490.html

相关文章

  • 学生管理系统使用集合保存,不是用数据库的(仅供参考,网上找的,记录用)
    packagecom.ima;importcom.itheima.Student;importjava.util.ArrayList;importjava.util.Scanner;/*学生管理系统*/publicclassStudentManager{publicstaticvoidmain(String[]args){//创建集合对象,用于存储学生数据ArrayList<Student>a......
  • Python入门示例系列16 集合
    Python入门示例系列16集合 集合 集合(set)是一个无序的不重复元素序列。可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典。集合是由不同元素组成,所以即便里面的值重复了,也会自动去重。示例:>>>s=set()#创......
  • JDK 21新特性---有序集合
    概述在JDK21中,正式加入了序列集合的功能,新增了SequencedCollection,SequencedSet,SequencedMap接口,使得Java中的有序集合类可以按照统一的方法来进行集合的操作。架构图:三大接口SequencedCollectioninterfaceSequencedCollection<E>extendsCollection<E>{......
  • 根据结果和集合长度获取原数组中所有符合的集合
    //计算数字之和constnums=[-1,0,1,2,3]functioncountNums(num,nums,length){functiongetSum(data){letsum=0;for(letvalueofdata){sum+=value;}returnsum}functiongetNumbers(source,count,......
  • JavaSE(08) - 集合 - ArrayList
    JavaSE(08)-集合-ArrayListp111ArrayList基本使用创建集合对象,泛型:限定集合中的数据类型.在jdk7中,后面的<>中可以不写数据类型.集合在底层做了一些处理,打印对象不是地址值,而是集合中存储的内容.publicclassArrayListBasic{publicstaticvoidmain......
  • Java 集合框架
    一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2.集合接口:6个接口(短虚线表示),表示不同集合类......
  • Flutter/Dart第08天:Dart类型(内置类型、记录、集合、泛型和类型别名)
    Dart内置类型(共10类)Dart官网文档:https://dart.dev/language/built-in-typesDart内置类型即DartSDK自带的类型,我们编程过程中可直接使用的类型,主要分为10类:数值类型:包括int类、double类等。字符串类型:即String类。布尔类型:即bool类。记录类型:即Record类,Dart3中开始支持(最......
  • 集合.Collection接口详解
    一、常用方法booleanadd(Ee)确保此集合包含指定的元素(可选操作)。intsize()返回此集合中的元素数。voidclear()从此集合中删除所有元素(可选操作)。Object[]toArray()返回一个包含此集合中所有元素的数组。booleanisEmpty()如果此集合不包含元素,则返回true。import......
  • Java集合框架(部分)
    类图List:有序可重复集合特点1.元素允许重复2.元素有序(元素的顺序就是插入时的顺序)3.元素可以通过索引来访问或者设置{ArrayLIst:底层为数组,查询速度快,增删慢LinkedList:底层是链表,查询速度慢,增删快两者的优缺点,:效率高,线程不安全}Set:无序不可重复集合HashSet:底层为数组,......
  • 使用数组模拟集合
    编写方法publicclassMyArrayList{privateint[]n=newint[10];//动态数组privateintsize=0;//长度publicintsize(){returnthis.size;}//添加一个元素publicvoidadd(intelement){n[size]=element;......