java collection框架

集合框架:

Collection:List列表,Set集

Map:Hashtable,HashMap,TreeMap



Collection 是单列集合

List 元素是有序的、可重复

有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。

可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

可存放重复元素,元素存取是有序的。

List接口中常用类

l Vector:线程安全,但速度慢,已被ArrayList替代。

底层数据结构是数组结构

l ArrayList:线程不安全,查询速度快。

底层数据结构是数组结构

l LinkedList:线程不安全。增删速度快。

底层数据结构是列表结构



Set(集) 元素无序的、不可重复。

取出元素的方法只有迭代器。不可以存放重复元素,元素存取是无序的。

Set接口中常用的类

l HashSet:线程不安全,存取速度快。

它是如何保证元素唯一性的呢?依赖的是元素的hashCode方法和euqals方法。

l TreeSet:线程不安全,可以对Set集合中的元素进行排序。

它的排序是如何进行的呢?通过compareTo或者compare方法中的来保证元素的唯一性。元素是以二叉树的形式存放的。





Map 是一个双列集合

|--Hashtable:线程安全,速度快。底层是哈希表数据结构。是同步的。

不允许null作为键,null作为值。

|--Properties:用于配置文件的定义和操作,使用频率非常高,同时键和值都是字符串。

是集合中可以和IO技术相结合的对象。(到了IO在学习它的特有和io相关的功能。)

|--HashMap:线程不安全,速度慢。底层也是哈希表数据结构。是不同步的。

允许null作为键,null作为值。替代了Hashtable.

|--LinkedHashMap: 可以保证HashMap集合有序。存入的顺序和取出的顺序一致。

|--TreeMap:可以用来对Map集合中的键进行排序.




Collection 和 Collections的区别


Collection是集合类的上级接口,子接口主要有Set 和List、Map。

Collections是针对集合类的一个帮助类,提供了操作集合的工具方法:一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

看到array 就想到数组,就想到查询速度快,有角标。
看到link 就想到链表,就想到增删快,就想到add get removefirst last 方法。
看到hash 就想到哈希表,就想到唯一性,就要想到元素要覆盖hashcode和euqals方法。
看到tree 就要想到二叉树,就要想到排序,就要想到两个接口comparable和comparator。
vactor线程安全,其他不安全。
【Java集合框架】03 —— Collection 接口(Collection Interface) Collection Interface 阅读详情

相关推荐

java集合框架Collection

java集合框架 java.util.Collection接口 Collection接口中定义了所有集合都要具备的功能,它也是所有集合的顶级接口。 Collection下面有几种不同集合的分类,常见的两个: 1.java.util.List:List接口表示的是线性表,是有序的且可以存放重复元素的集合 * 2.java.util.Set:Set接口表示的是不可重复的集合 这里指的重复是元素是...

努力是为了站在万人之中,成为别人的光 1万+

11.Java集合框架概述---Collection(List和Set)总结

1 Java 集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。 数组在内存存储方面的特点: 数组初始化以后,长度就确定了。 数组声明的类型,就决定了进行元素初始化时的类型 数组在存储数据方面的弊端: 数组初始化以后,长度就不可变了,不便于扩展 数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。同时无

SLSLSLSLSLSLS的博客 442

为何LPDDR4支持on-die ECC,但是DDR4却不支持呢?

DRAM的ECC,目前的编码方式都是128bit data,产生8bit parity或者ECC code. 而且必须要128bit才行。这8bit的ECC code是要被写入到DRAM内存里面的,从而read的时候,可以读取这8bit ECC code来判定read data是否有错,如果是SBF,就可以纠错了,如果是double bit,大部分时候是可以detect到错误,即所谓的SEC(Single Error Correct) + DED(Double Error Detect).

一个DRAM从业者的告白 1556

Java collection框架介绍和使用

---------------------------------------------------------------- 2B分割线------------------------------------------------------------------------------------------------------------ 首先我们先了解一下Java的API文

你我一起进步 1555

PCB过孔电流承载解析:完整指南与数据参考

深入解析PCB过孔的电流承载能力,结合实际应用场景提供可靠设计参考。涵盖影响载流的关键因素,并整理实用的pcb过孔与电流对照一览表,帮助工程师优化布局与布线。

weixin_35677363的博客 632

固定资产报废的损失鉴定怎么做?

在社会生产的日常中,企业经常会遇到固定资产报废的损失鉴定,那么怎么去做鉴定?哪些情况下能申请固定资产报废损失鉴定呢? 今天,华碧鉴定就和大家说一说固定资产报废损失鉴定那些事儿。 符合下列条件之一的固定资产可申请报废: 1、使用年限过长,功能丧失,完全失去使用价值,或不能使用并无修复价值的; 2、产品技术落后,质量差,耗能高,效率低,已属淘汰且不适于继续使用,或技术指标已达不到使用要求的; 3、严重损坏,无法修复的或虽能修复,但累计修理费已接近或超过市场价值的; 4、主要附件损坏,无.

weixin_50362670的博客 2116

Java Collection框架是什么?

Java Collection框架中包含了大量集合接口以及这些接口的实现类和操作他们的方法。主要提供了List(列表)、Queen(队列)、Ser(集合)、Stack(栈)和Map(映射表)。其中,List(列表)、Queen(队列)、Ser(集合)、Stack(栈)都是继承Collection接口。下面介绍Set、List和Map3个接口。 (1)Set表示数学意义上的集合概念(即不会出现重复元

一条小船的博客 4014

华为OD机试双机位C卷:日志排序 (Py/C/C++/Java/Js/Go)

华为OD机试双机C卷真题【日志排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试-日志排序。

qq_45776114的博客 1754

Collections工具类基本介绍和使用

Collections工具类 基本介绍: Collections 是一个操作Set List 和 Map等集合的工具类 Collections 中提供一系静态的方法对集合元素进行排序 , 查询和修改等操作 常用方法【均为static方法】 排序操作 1. reverse(List):反转List中元素的顺序 2. shuffle(List):对List集合元素进行随机排序 3. sort(List):根据元素的自然顺序对指定List集合元素按升序排序 4. sort(List,Com

weixin_47267628的博客 2492

PyTorch生成式人工智能(25)——基于Transformer实现机器翻译

不同于循环神经网络 (RNN) 按顺序处理数据,Transformer 以并行的方式处理输入数据(例如句子)。这种并行处理提高了效率,但并未使其能够识别输入的顺序。为了解决这个问题,Transformer 向输入的词嵌入中添加了位置编码。这些位置编码是分配给输入序列中每个位置的独特向量,其维度与输入词嵌入对齐。本节将以英语到法语的翻译为例,通过介绍如何训练 Transformer 模型将英语句子转换为法语,深入理解 Transformer 的架构及自注意力机制的运作方式。

盼小辉丶的博客 2734

基于STM32L4XX、HAL库的ICP-10111压力传感器驱动程序设计

define ICP10111_CMD_MEAS_ULN 0x7866 // 超低噪声模式。#define ICP10111_CMD_MEAS_LP 0x609C // 低功耗模式。#define ICP10111_CMD_MEAS_LN 0x70DF // 低噪声模式。#define ICP10111_CMD_MEAS_N 0x6825 // 正常模式。ICP10111_MODE_LN, // 低噪声。// 等待测量完成(根据模式不同等待时间不同)

zhusl6688的博客 416

Java集合框架之Collection实例解析

0、集合引入1)集合的由来?Java是面向对象语言,操作很多对象,必要时需存储对象,常见容器(数组和StringBuffer或StringBuilder), 而数组的长度固定,所以不适合做变化的需求,而StringBuffer(或StringBuilder)存储的是字符串,皆不符合要求。因此集合就应运而生了。 2)集合和数组的区别?1:长度限制之别 - 数组长度是固定不变的 - 集合

pecuyu 1万+

YOLOv12涨点改进 | 独家创新-注意力改进篇 | ECCV 2024 | YOLOv12引入AgentAttention代理注意力模块,兼顾 Softmax 和线性注意力优点,提高检测精度

🔥本文给大家介绍使用Agent Attention模块改进YOLOv12网络模型。其主要作用是通过引入高效的代理token来减少计算复杂度,同时保留全局上下文建模能力。相比传统的Softmax注意力,Agent Attention通过代理token聚合并广播信息,从而降低了模型在处理高分辨率图像时的计算负担,并显著提高了推理速度。其优势在于保持了目标检测中的全局信息处理能力,同时加速了生成过程,特别是在高分辨率场景下,可以提高检测精度、减少内存消耗,并提升处理速度。

Ai缝合怪、助力小伙伴高效发论文 155

【JavaSE系列】Java集合框架之Collection,Map接口

本篇文章带大家认识Java基础知识——集合框架,从本篇文章开始正式拉开数据结构的序幕,要深入了解一件事,那必然先得见个面,本文带大家认识Java集合框长什么样,以及怎么使用Collection和Map接口。

未见花闻的博客 1832

流体动力学仿真软件:Star-CCM+_(19).软件定制与脚本编写

自定义插件开发可以扩展Star-CCM+的功能,实现特定的仿真需求。插件开发通常需要使用Java语言,并且需要对Star-CCM+的API有深入的了解。以下是一个简单的Java插件示例,展示如何创建一个自定义插件来显示仿真项目的信息。// 导入必要的Star-CCM+ API import star . ccm . product . CCMProject;// 自定义插件类 public class CustomPlugin {// 插件主方法 public void run() {

kkchenjj的博客 937

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java 集合框架(Collection)

这个方法允许你指定数组的类型,并且可以避免类型转换的开销。相关的方法,当然,Collection的功能List也都继承了。1.LinkedList集合的底层是基于什么实现的?① 如果集合支持索引,可以使用for循环遍历,每删除数据后做。获取集合的迭代器对象,对迭代器对象使用.next()方法。基于双链表的这种特点,LinkedList新增了很多。写累了,承受了这个年纪不该承受的(惆怅脸)…函数式接口的实现,这个实现可以是一个。就是removeFirst方法的套皮,来实现的,但隐藏了迭代器的实现细节。

m0_70484213的博客 1169

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Java集合总结之Collection整体框架

前段时间一直在忙一个物联网的项目,所以Java的学习一直搁置,从今天开始继续学习!望大家多提宝贵意见!         java.util包中包含了一些在Java 2中新增加的最令人兴奋的增强功能:类集。一个类集(collection)是一组对象。类集的增加使得许多java.util中的成员在结构和体系结构上发生根本的改变。它也扩展了包可以被应用的任务范围。Java的类集(Collection)

被赶的蜗牛的专栏 4万+

Java中Collection框架的技术解析

Java的Collection框架为开发者提供了一套丰富、灵活、强大的集合数据结构,使得在Java中处理集合数据变得简单而高效。通过合理使用Collection框架中的接口和类,可以编写出更加健壮、可维护的Java应用程序。随着Java版本的更新,Collection框架也在不断演进和完善,为开发者提供更加丰富的功能和更好的性能。

m0_61431263的博客 335

java collection接口,Java集合框架之Collection接口详解

Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架。Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeratio...

weixin_33407806的博客 211

Java Collection框架详解

Java Collection框架详解         经常会看到程序中使用了记录集,常用的有Collection、HashMap、HashSet、ArrayList,因为分不清楚它们之间的关系,所以在使用时经常会混淆,以至于不知道从何下手。在这儿作了一个小例子,希望有助于帮大家理顺思路。 首先看一下它们的关系: Collection

zhenglei1981的专栏 1243

Java 集合框架之Collection接口方法

Java集合框架概述 Java集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。

m0_50963943的博客 696

Java的Collection框架中使用的接口

There are various interfaces which are used in Collection framework and we will see the names of the name of all those interfaces which is introduced in the Collection framework. Collection框架中使用了各种接口...

cumubi7552的博客 215

JAVA Collection集合框架

java.util.Collection接口,所有的集合都实现自该接口,这个接口中定义了所有集合都必须具备的相关功能。 Collection下面有两个非常常见的子类集合 java.util.List:线性表,是一个可以存放重复元素且有序的集合。 java.util.Set:不可重复的集合 注:集合只能存放引用型元素集合常用方法: boolean add(E e):向集合中添加一个元素,成功添加则返回trueint size():返回当前集合的元素个数boolean isEmp

m0_47005019的博客 301

JAVA 中级 / 集合框架 - 其他集合 - JAVA 集合框架 COLLECTION

目录 1.Collection 1.1为什么需要Collection 1.2数组和集合的区别 1.3Collection的由来与功能 2.实现(implementation) 3.常用实现 4.算法: 1.Collection Collection是 Set List Queue和 Deque的接口 Queue: 先进先出队列 Deque: 双向链表 注:Collection和Map之间没有关系,Collection是放一个一个对象的,Map 是放键值对的 注:Deque 继承 Q..

q306507291的博客 230

java中集合框架详解之Collection集合

不再考虑equals() 和 hashCode()方法了,即添加到TreeSet中的元素所在的类不需要重写 equals() 和 hashCode()。原因:因为Collection中的相关方法(比如contains() / remove())在使用中,要调用元素所在类的equals().比较元素的大小或比较元素是否相等的标准就是考虑自然排序或定制排序中,compareTo()和compart()的返回值。比较的标准,需要判断hashCode()得到的哈希值以及equals()得到的boolean型结果。

weixin_45535916的博客 1850

java集合框架--Collection

java集合

qq_43589451的博客 331
上一篇: java泛型
下一篇: Java 可变参数
tangleisoft
博客等级 码龄16年 8粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值