文档章节

Java集合类框架

w
 wangxhai
发布于 2016/11/24 13:08
字数 812
阅读 98
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

1、数组和集合的区别:

1.数组是大小固定的,一旦创建无法扩容;集合大小不固定,

2.数组的存放的类型只能是一种,集合存放的类型可以不是一种(不加泛型时添加的类型是Object);

3.数组是Java语言中内置的数据类型,是线性排列的,执行效率或者类型检查(不懂),都是最快的.

2、数组与集合类之间的转换

List<Intenger>list=new Arrays.asList{1,2,3,4,5,6};//数组转集合
Collection接口定义的toArray()方法://集合转数组

注: 使用asList()方法,不可向其中添加元素 使用toArray()方法不可通过向方法中传递元素来增加元素

3、 ArrayList的随查找性能更好 集合类删除的是序号

4、Collection与Collections的区别: Collection接口是Java集合类的基础,Collections类包含很多的工具方法

5、遍历集合的方法

for语句
加强版for语句
使用迭代器:(在)

Collection类接口的iterator()方法: hasNext()方法,判断是否有元素,有则返回true next()方法,迭代器游标向后 remove()方法,删除一个元素(接连两次调用会出现异常)

6、Iterator接口与ListIterator接口: 后者更为强大:

序列可以从大到小
可以在遍历的过程中增加元素和修改元素
可以获得元素的序列

7、 ArrayList相当于线性表,适合快速获得指定位置的元素(增添删除时位置会依次变化,开销很大) LinkedList相当于链表,适合删除增添元素(指定位置要从头开始,开销很大) Vector支持同步,适合于需要线程安全的场合,但是效率比ArrayList差 注: 前两个使用更多

8、ArrayList和Vector的区别: Vector中有些方法是支持同步的,适合于需要线性安全的场合,而ArrayList类没有那样方法。

9、Queue接口: BlockingQueue表示阻塞队列,线程中应用广泛 Deque表示双端队列,该接口的实现类具有可以由两端进入,两端离开的功能 Deque接口中有很多插入、移除和检查元素的方法

10、Set接口: Set接口用来包含不含重复元素的集合(模拟数学中的集合概念),该接口要求重写equals()方法和hashcode()方法,用来支持对不同Set实现类内容的比较。 HashSet实现元素的快速保存(并没有保存元素的顺序,更没有元素顺序永久不变) LinkedHashSet兼有列表和集合两种功能,保存了顺序(所以性能比HashSet稍差) TreeSet用于将集合中的元素排序(用NavigableSet接口中定义的众多方法实现排序功能)

11、 常用Set接口实现类如HashSet、LinkedHashSet、TreeSet不支持线程同步 (可以通过Collections类提供的线程方法实现同步)

12、 Map接口中的entrySet()方法和HashTable都可以用于保存键值对 Map接口中的KeySet()方法可以获得全部键所组成的集合 Map接口中的values()方法可以获得全部值所组成的集合

© 著作权归作者所有

w
粉丝 0
博文 4
码字总数 2676
作品 0
资阳
私信 提问
加载中

评论(0)

一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0
Java集合框架(一)——集合概述

本文概述 本篇文章将分三块内容对Java中的集合框架进行介绍: 一. 集合框架相关概念 二. 集合体系通用方法 三. 集合遍历—Iteractor 一. 集合框架相关概念 集合:用于存储多个对象的容器 1....

Mr_Yanger
2017/11/11
0
0
[Java 并发编程] 集合框架之 同步容器类 & 并发容器类

吾生也有涯,而知也无涯。———《庄子》 通过上一篇文章,我们已经知道设计一个线程安全类的原则和步骤,以及在设计过程中我们应当注意的细节。实际上,Java 的集合库包含了线程安全集合和非...

seaicelin
2018/05/25
0
0
201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结

201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结 项 目 内 容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh 这个作业的要求在哪里 https://www.cnblogs.co...

osc_bc7dotjc
2019/11/18
4
0
某马某智JavaEE57期 2019最新基础+就业+在职加薪_汇总

黑马传智JavaEE57期 2019最新基础+就业+在职加薪 文件路径: G:学习中黑马传智JavaEE57期 2019最新基础+就业+在职加薪阶段1 语言基础+高级·1-2 -面向对象和封装 阶段1 语言基础+高级· 阶段...

osc_k5dg06i6
2019/05/23
9
0

没有更多内容

加载失败,请刷新页面

加载更多

君子动手不动口,阿里云喊你做云上体验官啦!

想要免费搭建云上博客?想要玩转全云端开发?想要挑战AI经典命题?想要7天进阶成为云计算专家?想要初始化你的云原生工程?快来阿里云 Hands-on Labs! Hands-on Labs 是阿里云全新推出的云上...

osc_18ydlfr7
26分钟前
16
0
CAD图纸转换成图片格式后,如何快速分享给同事?

我们常见的图片格式有PNG与JPG两种,这两种图片在很多平台上都能兼容,所以使用的几率特别高,很多办公室人员都会遇到把CAD图纸转换成PNG与JPG格式的工作。那么我们把CAD图纸转换成图片格式后...

真不莲
28分钟前
25
0
测试真的是一个无聊又没前途的岗位吗?是吗?不是吗?

同事小王:你第一份工作同事咋样?为什么离职? 测试小张:第一份工作就是测试,微软外包。别人在测试完了以后不知道干嘛,我抓紧时间看vs的源代码,抓紧时间看pheonix的源代码,抓紧时间看微...

osc_3zq7ptf4
28分钟前
13
0
怎么在电脑上进行视频截图?视频截图的简单步骤介绍

怎么在电脑上进行视频截图?小编最近在网上看到不少关于郑爽的话题文章,而不少文章都是通过视频截图的形式把她以前的影视作品截图下来,然后对她的演技和人品进行议论和评判。如果大家也想对...

玛哈菲亚
28分钟前
20
0
CAAI云课堂丨第十三期,北京交通大学人工智能研究院院长于剑开讲

     开启云端互动,CAAI带你与名师面对面。中国人工智能学会积极探索学术交流创新模式,围绕AI+学术、AI+技术以屏幕架起连接智能科技知识的桥梁,探索新型模式,开设CAAI云课堂等系列活...

osc_j5pkc521
29分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部