文档章节

Java 复习 —— 集合数组帮助类

learn_more
 learn_more
发布于 2015/08/18 14:48
字数 1009
阅读 78
收藏 6

1、集合帮助类

基本就这些了,关键是要了解 Collections 是集合的帮助类,不是数组的帮助类;

1)生成只读的集合实例对象

Collections.singletonList——用来生成只读 的单一元素的List

Collections.singletonMap——用来生成只读 的单Key和Value组成的Map

Collections.singleton——用来生成只读 的单一元素的Set

Collections.unmodifiableList——用来生成只读 的List

Collections.unmodifiableMap——用来生成只读 的Key和Value组成的Map

Collections.unmodifiableSet——用来生成只读的Set

如果查找执行了先关非只读的操作会出现异常:UnsupportedOperationException

2)检查集合元素的类型

checkedCollection,checkedList,checkedMap,checkedSet,checkedSortedMap,checkedSortedSet

如果检查发现元素类型不匹配就会法生ClassCastExceptions异常,虽然Java5中提供泛型的功能,泛型功能能够在代码编译阶段就约束集合中元素的类型,但有些时候声明的集合可能是raw集合(原始类型,也就是没有使用泛型的集合),编译阶段的类型约束就不起作用了,这个时候Checked集合就能起到约束集合中元素类型的作用。 

3)同步集合元素

synchronizedXxxxx系列方法会返回同步化集合类(SynchronizedMap, SynchronizedList)。这些集合类内部实现都是通过一个mutex(互斥体)来实现对这些集合操作的同步化。其实就是把一个异步的集合变为

4)集合操作

包括 排序、查找、替换、移位、统计、填充 等

fill—使用指定元素替换指定列表中的所有元素。

frequency—返回指定 collection 中等于指定对象的元素数。

indexOfSubList— 返回指定源列表中第一次出现指定目标列表的起始位置,如果没有出现这样的列表,则返回 -1。

lastIndexOfSubList—返回指定源列表中最后一次出现指定目标列表的位置,如果没有出现这样的列表,则返回-1。

max—— 根据元素的自然顺序,返回给定 collection 的最大元素。

min——根据元素的自然顺序 返回给定 collection 的最小元素。

replaceAll——使用另一个值替换列表中出现的所有某一指定值。

reverse——对List中的元素倒序排列

shuffle——对List中的元素随即排列

sort——对List中的元素排序

swap——交换List中某两个指定下标位元素在集合中的位置。

rotate——循环移动。循环移动这个方法让人比较难以理解,下面的例子就会让你一下子就理解这个方法的含义。

binarySearch——使用二进制搜索算法来搜索指定列表,以获得指定对象。

5)其他操作

addAll——将所有指定元素添加到指定 collection 中。

copy——将所有元素从一个列表复制到另一个列表。

disjoint——如果两个指定 collection 中没有相同的元素,则返回 true。

nCopies——返回由指定对象的 n 个副本组成的不可变列表。


2、数组帮助类

基本就这些了,关键是要了解 Arrays 是数组的帮助类,不是集合的帮助类;

1)给数组赋值

:通过fill方法。


2)对数组排序

:通过sort方法,按升序。


3)比较数组

:通过equals方法比较数组中元素值是否相等。


4)查找数组元素

:通过binarySearch方法能对排序好的数组进行二分查找法操作。


5)把数组转为集合

:通过asList方法,把数组的元素转为集合的元素。


6)把数组以字符串的形式转换

:通过toString方法,本来数组调用toString返回的是类@地址,现在则是打印元素


7)复制数组的元素

:通过 copyOf、copyOfRange负责指定元素的数组


© 著作权归作者所有

learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724939 JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千! 经过了几...

Aduroidpc
2016/10/02
0
0
Scala学习(三)数组相关操作

1.定长数组 如果你需要一个长度不变的始祖,可以使用Scala中的Array。例如: 2.变长数组:数组缓冲 对于那种长度有变化的数组,Java有ArrayList,C++有vector。Scala中有等效的数据结构Array...

我爱春天的毛毛雨
2018/09/30
0
0
Java集合框架(一)——集合概述

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

Mr_Yanger
2017/11/11
0
0
【目录导航】JAVA零基础进阶之路

【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day6 Java字符串 Day7 Java输入与输出...

MFrank
2018/06/21
0
0
2018年Java编程学习面试最全知识点总结

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
2018/05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

47.Nginx安装 默认虚拟主机 用户认证 域名重定向

12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 扩展 nginx.conf 配置详解 http://www.ha97.com/5194.html http://my.oschina.net/duxuefeng/blog/34880 nginx......

oschina130111
26分钟前
2
0
vue+element 封装弹窗

子组件: <template> <el-dialog title="" :visible.sync="dialogVisible" :before-close="handleCloseBindWarnStandard" width="500px"> <el-form label-width="100px"> <el-form-item prop......

羊皮卷
40分钟前
2
0
ABB变送器大胆创新实现技术突破

本文关键字:ABB变送器http://www.whdkm.cn/ 虽然市场上变送器传感器种类繁多,但是近几年传感器的技术创新速度却是比较缓慢,这是由于大多数用户宁可坚持使用久经经验的技术,而不愿冒险采用...

whdkm666
44分钟前
2
0
TPA2080D1相关介绍

TPA2080D1相关介绍 1说明 TPA2080D1器件是一款高效D类音频功率放大器,集成了G类升压转换器,可在低输出功率下提高效率。它可以驱动高达2.2 W的4-Q扬声器(1%THD + N)。 TPA2080D1具有85%...

不能吃肉的仙女
49分钟前
2
0
今日大暑,JEPaaS提醒您注意防暑降温

“大暑,六月中。暑,热也,就热之中分为大小,月初为小,月中为大,今则热气犹大也。” 天气炎热,JEPaaS提醒您注意防晒,预防中暑。

JEPaaS云平台
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部