java集合类(基础篇)

[size=x-large][b]总结下工作中经常使用的JAVA集合类[/b][/size]

[img]http://dl.iteye.com/upload/attachment/0062/7047/569c6472-ea67-3678-9782-6a4d87b17571.jpg[/img]

[size=large]Collection接口:
此接口继承了Iterable接口,因此此接口的子接口和实现类都可以调用iterator方法进行遍历,接口定义实现类大多为数据结构中的线性存储
List接口:
继承了Collection接口,对应数据结构中的线性表
Queue接口:
同样继承了Collection接口,对应数据结构中的队列,特点是FIFO
Set接口:
同样是线性表,特点与List相比是元素不重复
SortedSet接口:
按照对象的特定属性进行排序,插入的元素必须实现了Comparable,在编程中需要对compare方法进行重写

ArrayList类实现了List接口,对应数据结构中的顺序表,特点是如果适合查询迅速,
插入、删除比较慢,数据在内存中物理存储相邻
LinkList类也实现了List接口,对应的是数据结构中的链表,特点是查询较慢,插入和删除很快,数据在内存中可以物理存储可以不相邻
Stack对应的是数据结构中的栈,特点是先进后出
Vector对应的是数据结构中的数组,在JAVA中Vector是可以扩展的,需要注意的是Vector是同步的,所以如果在高并发场景可以相对ArrayList优先考虑

HashSet类实现了Set接口,HashSet由哈希表提供,它不能保证其迭代顺序,但是可以保证其顺序不变,此类允许出现空值,此类不是同步的,
TreeSet继承了SortedSet接口,此接口中保证元素不重复和按照一定规则排序

ConcurrentMap继承了Map,保持内存一致性效果,当存在其他并发 collection 时,将对象放入 ConcurrentMap 之前的线程中的操作 happen-before 随后通过另一线程从 ConcurrentMap 中访问或移除该元素的操作
SortedMap同样继承了Map,是有序的数据结构
[/size]
java语言导学 本专栏,旨在带大家学习初级java知识,带大家能用java语言,编写一些初级的代码。在后续的专栏中,我会继续介绍一部分常用的框架、数据库以及前端知识。并结合这些知识,带着大家实战制作一个小的应用程序。... 阅读详情

相关推荐

广义平均(Generalized Mean, GeM)

本位介绍了广义平均操作的定义和简要推导,帮助大家理解其含义。

qq_45802280的博客 4547

如何定义一个简单的Concurrent Program

Oracle Apps R12下如何定义一个简单的Hello World的Concurrent Program 定义一个表和一个Procedure先 create table ptian_table ( message_text VARCHAR2(100) ,creation_date DATE ) ; CREATE OR REPLACE PROCEDURE PTIAN_HELLO...

数据库天地 211

如何优雅地进行频谱分析—— 一行代码实现绘制MATLAB频谱、功率谱图

之前的文章里讲了关于信号频谱、能量谱的相关理论和MATLAB编程实现方法: Mr.看海:信号频域分析方法的理解(频谱、能量谱、功率谱、倒频谱、小波分析) Mr.看海:频域特征值提取的MATLAB代码实现(频谱、功率谱、倒频谱) 不过对于刚刚开始进行这方面研究,或者对MATLAB不甚熟悉,抑或者不想花太多时间用在编程这件事上的同学,目前缺少一种足够便捷、高效、可靠的代码。 所以笔者想做这样一件事:编写一个函数,同学们只需要导入自己要分析的数据,并按照自己的需求设置部分选项,调用一行代码就可以实现绘制频

fengzhuqiaoqiu的博客 2万+

《java how to program》第三版1-6章大部分习题答案[原创]

《java how to program》第三版1-6章大部分习题答案[原创]下载地址 http://download1.youkuaiyun.com/down3//20070126/26183744138.rar                  http://download.youkuaiyun.com/source/160950可能会有一些错误或者是不合适的答案,欢迎您提出意见和建议  hall.ji

bighao专栏 1911

Innovus Function ECO实战:5步搞定数字后端设计中的网表修正(含Calibre LVS验证技巧)

本文提供了一份完整的Innovus Function ECO实战指南,详细解析了数字后端设计中网表修正的五步流程。从理解Function ECO概念、准备关键文件,到在Innovus中执行逻辑比对、自动布线及GUI检查,并重点攻克了ECO后Calibre LVS验证的难点与调试技巧,帮助工程师高效、精准地完成流片前的设计微调。

day7的博客 949

彻底解决Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource

renkai721的专栏 24万+

Java修炼之路——基础篇——Java集合类

集合类的全景图 常用集合类特性 1. Collection:每个位置对应一个元素 1.1: List 存放有序元素,允许重复元素,允许元素为null 1.1.1: ArrayList: 内部结构为数组; 初始容量为10; 插入、删除的移动速度慢;动态扩容1.5倍; 线程不安全; 1.1....

zhaohong_bo的专栏 350

Linux系统之部署经典魔塔小游戏

Linux系统之部署经典魔塔小游戏

jks212454的博客 1817

Java Web基础篇之Java集合类

1、集合总体框架 摘自: Java 集合系列01之 总体框架 2、ArrayList与LinkedList区别 大致区别: ArrayList是实现了基于动态数组的数据结构(初始容量为0,第一次添加元素时初始为10,扩容时采用Arrays.copyOf(),空间不足时扩容为之前容量的1.5倍),LinkedList是基于双向链表结构(不考虑扩容等问题,直接添加元素即可)。 对于随机访问的ge...

聚沙成塔 1052

【转录调控网络】代谢组学与其他组学的联合分析经典模式简介

多组学联合分析经典模式转录组学&代谢组学联合分析 转录组学&代谢组学联合分析 转录组是获得生物体内基因表达的重要方法,代谢组是生物体表型的基础和直接体现者。 转录组测序可以得到大量差异表达基因和调控代谢通路,但由于基因与表型之间很难之间关联,导致关键的信号通路难以确定,因此往往达不到预期的研究目的。代谢产物是生物体在内外调控下基因转录的最终结果,是生物体表型的物质基础。 在系统生物学研究时代,生物过程复杂多变,基因调控网络复杂。针对特定的生理、病理等表型进行研究,利用转录组的数据获得大量差异

小哲的博客 6194

ABAP Open SQL 数据拷贝导致 SAPSQL_DATA_LOSS:从报错机理到稳妥修复

数据类型与长度不合规。一旦在Open SQL的无损赋值检查里被发现,系统宁可中止也不会偷偷替你截断。把变量声明对齐到字典、在需要时明确表达转换/截断意图、写法上避免落入高危的操作数位置,再配合ATC的预防性检查,既能解决你这次的ST22Dump,也能把同类问题消灭在萌芽状态。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 429

Java修炼之路——基础篇——Java集合类详解2

Set和List区别?Set如何保证元素不重复? Set、List都实现了Collection接口,List是有序的列表,Set是无序的集合(TreeSet有序) List实现类: ArrayList :基于数组,可动态扩容 LinkedList:基于双向链表,可做堆栈使用 Vector:基于数组,基本相当于线程安全的ArrayList(基于synchronized),已被CopyOnWrite...

zhaohong_bo的专栏 197

产品路线图的三种模型(RICE/MoSCoW/Kano),教你如何对需求进行优先级排序

RICE/MoSCoW/Kano三种模型,教你如何对需求进行优先级排序。 也许你会让业务提供一份ROI,记得前不久参加过一场立项会评审,一位很有意思的小产品在会上讲不清楚ROI,评审们要求会后重新梳理,小产品表达不要为难业务方干一些他们不擅长的事了。这个看似笑话的经历,背后隐藏着价值判断已经流于形式。 也许你会要求业务方直接给出需求优先级列表,把任务分为P0到P5,这样的划分除了按需求本质的优先级还同时考虑了开发资源、开发难度等问题。毫不夸张地说,我曾经拿到一张全是P0级别的需求清单,如果一切任务都是高

wenyusuran的专栏 5542

集合类java ----Java基础篇

目录 一、集合类概述 二、Collection接口 三、Collection实例 四、Set集合(无序) 五、List集合(有序) 5.1、概述 5.2、索引问题 5.3、List接口的常用实现类有ArrayList与LinkedList 5.4、LinkedList类采用链表结构保存对象 六、Map集合 6.1、概述 6.2、实例 6.3、遍历map集合常...

RONG_YAO的博客 386

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

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

Java工程师成神之路 基础篇 Java基础知识 集合类

集合类

weixin_43920886的博客 317

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java修炼之路——基础篇——Java集合类详解1

SynchronizedList和Vector的区别 java.util.Vector java.util.Collections.$SynchronizedList Vector用同步方法,SynchronizedList用同步代码块,SynchronizedList可以指定锁定的对象 SynchronizedList有很好的扩展和兼容功能,能把所有List的子类都转为线程安全的类 使用Sy...

zhaohong_bo的专栏 223

<JAVA基础篇>---java集合类

java集合概念 集合分为Collection(List和Set)和Map Collection接口 Collection 方法: 添加 add(Object obj),addAll(Collection coll) 元素个数int size() 清空集合void clear() 是否为空 boolean isEmpty() 是否包含某元素boolean contains(Object obj),boolean contains(C

m0_52464332的博客 207

【Java 基础篇】Properties 结合集合类的使用详解

Properties是 Java 核心库中的一个类,它继承自Hashtable,主要用于管理键值对形式的配置信息。这些键值对被存储在一个在配置文件中,键名和对应的值之间用等号(或冒号)分隔。每个键值对通常表示一个配置项。您可以使用Properties存储和检索自定义对象。要使用Properties,首先需要创建一个Properties对象,然后加载配置文件。下面是创建Propertiestry {} }try {} }try {} }

繁依Fanyi的博客 1066

【搞定Java基础-集合】第十篇:Java 集合类总结篇

目录 序言:Collection 一、List 总结篇 1、List 接口描述 2、使用场景 3、区别 3.1Aarraylist 和 Linkedlist 3.2 Vector 和 ArrayList 的区别 二、Map 总结篇 2.0 HashMap 和TreeMap的不同点 2.1、Map 概述 2.2、内部哈希:哈希映射技术 2.3 Map 优化 2....

ZHAOJING1234567的博客 696

hadoop学习序曲之java基础篇--java集合类

集合类的由来:   对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定就使用集合容器进行存储。 集合特点: 1、用于存储对象的容器。 2、集合的长度是可变的。 3、集合中不可以存储基本数据类型值。 集合容器因为内部的数据结构不同,有多种具体容器。 不断的向上抽取,就形成了集合框架。 框架的顶层Collection接口: Collection的常见方法:   1

hhfff123的博客 272

​(九)JAVA基础及提高篇集合类详细说明

​集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的和使用频率极高的基础类进行封装和增强后再以一个类的形式提供。集合类是可以往里面保存多个对象的类,存放的是对象,不同的集合类有不同的功能和特点,适合不同的场合,用以解决一些实际问题。

绝对秋香 330

Java基础篇Map集合类简介和使用原理剖析

转载自:http://blog.yoodb.com/yoodb/article/detail/1331 Java中最长用的集合类是List和Map,List的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。List 适用于按数值索引访问元素的情形。Map提供了一个更通用的元素存储方法,Map集合类用于存储元素对(称作“键”和“

Java精选 1998

java成神之路-基础篇 (搞定java基础看这一篇就够用)

最近关注了个 主播,Hollis 阿里巴巴的一位专家,该博主总结了一份java成神之路的知识图谱,基于图谱打算出 几期总结文档也有助于自己巩固与学习。于是有了这篇文章。

lw的博客 2107

Java基础笔记

JAVA基础篇面向对象三大特性五大基本原则平台无关性Java 如何实现的平台无关JVM 还支持哪些语言值传递封装、继承、多态什么是多态、方法重写与重载Java的抽象类和接口Java的继承与实现构造函数与默认构造函数类变量、成员变量和局部变量 基础篇 面向对象 面向过程是具体化的,流程化的,解决一个问题,你需要一步一步的分析,一步一步的实现。 面向对象把数据及对数据的操作方法放在一起,作为一个相互依...

寒沨的博客 481

JAVA 基础

Java 基础 1.JDK 和 JRE 有什么区别? java development kit:java开发工具包,提供开发环境和运行环境 java runtime environment:java运行环境,为java的运行提供了所需的环境 2.== 和 equals 的区别是什么? == 基本类型:比较的是值是否相同; 引用类型:比较的是引用是否相同; equals不重写的话本质上就是==,其源码就是用的== 总结来说== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals

m0_60151310的博客 336

java中 先进后出的集合_java面试题基础之集合篇

java面试题基础之集合篇1、ArrayList和Vector的区别参考:https://www.cnblogs.com/javaisbest/p/11795444.html2、HashMap和Hashtable的区别二者都是Map的实现类,且底层都是哈希表,他们的区别有以下几点:父类不同:HashMap的父类是AbstractMap,HashTable的父类是Dictionary初始化容量和扩容...

weixin_39615499的博客 860
上一篇: JVM 运行时内存图
下一篇: 分析Spring AOP的动态代理实现原理
Program_newbie
博客等级 码龄18年 0粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值