首页 > 其他分享 >集合

集合

时间:2024-02-17 17:13:01浏览次数:23  
标签:Map 重复 子类 无序 索引 集合

Collection集合特点
** 1、List系列集合:添加的元素是有序、可重复、有索引。**
子类常用到ArrayList、LinkedList:有序、可重复、有索引。

arrlist底层原理,默认创建一个长度为10的数组,存满时会创建到1.5倍,再满就按照实际长度
二者的区别是数据结构不同  
linkedlist底层原理基于双链表实现的。
特点:查询慢,增删相对较快,但对首尾元素进行增删改查的速度是极快的。
链表可以用来设计队列、栈  

** 2、Set系列集合:添加的元素是无序、不重复、无索引。** 共性都是无序无索引,唯一就是有序无序还是排序
子类HashSet:无序、不重复、无索引;
孙类LinkedHashSet:有序、不重复、无索引。
子类TreeSet:按照大小默认升序排序、不重复、无索引。

hashset就是散列表、hashset集合的底层原理是数组+链表+红黑树也就是散列表,哈希表,所以是无序,重复无索引
linkedhashset底层原理依然是基于哈希表(hashset)实现的,只是多了双链表机制来记录前后元素位置。
treeset是基于红黑树实现的

** 3、Collection集合获取迭代器**
Iterator iterator()
迭代器常用的方法
hasnext取数据并移到下一个位置
next
hasnext相当于是问一次 next相当于取一次/问一次取一次

Iterator<String>it=lists.iterator();
while(it.hasNext()){
    String ele = it.next();
    System.out.println(ele);
}

增强for循环、遍历数组或集合

Collection<String> c= new ArrayList<>();
for(String s : c){
    System.out.println(s);
}

** 4、Map集合**
Map集合也被叫做“键值对集合” 需要存储-一对应的数据时,就可以考虑使用Map集合来做
Map接口下常用到**子类HashMap、TreeMap 孙类LinkedHashMap ** 共同特点是:不重复、无索引 唯一区别是无序,有序和排序 所以和Set是极其相似的
HashMap(由键决定特点):无序、不重复、无索引;(用的最多)
LinkedHashMap (由键决定特点):由键决定的特点:有序、不重复、无索引。
TreeMap (由键决定特点):按照大小默认升序排序、不重复、无索引。
常见方法
public boolean containsKey(0bject key); //判断是否包含某个键 ,包含返回true
public boolean containsValue(object value); //判断是否包含某个值。
public Set keySet(); //获取Map集合的全部键。
public Collection values(); //获取Map集合的全部值。

标签:Map,重复,子类,无序,索引,集合
From: https://www.cnblogs.com/ang666emmm/p/18007653

相关文章

  • Java集合篇之深入解析ArrayList,这六问你答的上来吗?
    写在开头开年第一篇,先祝各位新的一年身体健康,学业有成,事业有成哈,春节期间就是咔咔乱吃,咔咔乱玩,把学习都抛一边子去了,已经9天没有学习了,深深的懊悔,从今天开始,2024年的学习正式开启,一起给我猛冲!!!书接上回,我们开启了Java集合部分的学习,今天我们就来看一下List,其中它的核心有两个,一个......
  • 修改被迭代的集合
    在遍历过程中如果尝试修改正在被迭代的集合可能会抛出ConcurrentModificationException异常。因此,对于可变操作建议使用Iterator的remove()方法或者在StreamAPI中新建一个新的映射结构。通义千问挺好用的metricThresholdMap.setL7Threshold(metricThresholdMap.getL7Thr......
  • Python笔记09——Set(集合)
    九、集合9.1基础集合(set)是一个无序的不重复元素序列,可进行交、集、差等常见的集合操作。与序列的区别:无序,每次输出顺序随机;元素不重复;创建格式:parame={value01,value02,...}或者set(value)(创建空集合只能用set())创建集合示例set1={1,2,3,4}#直接使用......
  • Go语言精进之路读书笔记第24条——方法集合决定接口实现
    24.1方法集合方法决定接口实现:如果某个自定义类型T的方法集合是某个接口类型的方法集合的超集,那么就说类型T实现了该接口,并且类型T的变量可以赋值给该接口类型的变量Go语言规范,对于非接口类型的自定义类型T:类型T,方法集合由所有receiver为T类型的方法组成类型*T,方法集合由所......
  • 集合
    一.集合框架1.单例集合的体系结构  List接口:1.有序的集合。2.允许存储重复的元素。有索引,可以使用普通for循环。ArrayList:底层是数组实现的,查询快增删慢。LinkedList:底层是链表实现的,查询慢增删快。  Set接口:1.不允许存储重复......
  • 集合问题——并查集
    目录问题引入算法原理参考代码问题引入给出n个人的m个关系,表示给出的两个人都是朋友关系,之后进行k次询问,要求判断给出的两人是否是朋友关系,朋友的朋友也是朋友算法原理简单来说就是对集合的合并进行一个处理,使得是朋友的一群人用一个共同的朋友记录,这样在查询的时候就可以通过......
  • 紧急集合 / 聚会
    对于这道题目,我们考虑三个点的位置如果三个点共线,比如下面这个样子那么应该放在哪里呢?很显然应该放在中间这个点这里如果三个点不共线呢?这个时候我们以两个点为端点画线,再画出其他分支那么现在这个点应该放在哪里呢?应该放在中间“T”字形的交点那里于是我们就清楚了,结合上......
  • 接口传送集合数据备份
    //请求路径Stringurl=address+"/priceFreightpriceController.do?outGetMaplist&chargeableWeight="+weight;//url=url+"&data="+jsonString;Gsongson=newGson();//List转String......
  • 盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
    写在开头在Java的世界里万物皆对象。但我认为是万物皆数据,世界由各种各样数据构建起来,我们通过程序去实现数据的增删改查、转入转出、加减乘除等等,不同语言的实现方式殊途同归。由此可见,数据对于程序语言的重要性。这段话是在写数据类型那篇博客时说的,当时是为了引入Java中数据......
  • C++编程练习||1.类模板2.整数集合类3.复数集合类,模板结合
    1.类模板 类模板的作用  使用类模板使用户可以为类声明一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值,能取任意类型(包括基本类型的和用户自定义类型)。  类模板的声明  类模板template<模板参数表>class类名{类成员声明};  ......