文档章节

Java集合(一):简介

yuhuan121
 yuhuan121
发布于 2017/08/23 01:21
字数 839
阅读 5
收藏 0

1、概述

1.1、概念

Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用的数据结构,比如栈、对象等。此外,还可用于保存具有映射关系的关联数组。

1.2、优势

在我们的日常编程中,经常要集中存放多个数据。可以用数组来保存多个对象,但是数组的长度在初始化时就是不可变化的。此时,如果想要保存数量变化的数据,数组就无能无力了,而且,数组不能保存具有映射关系的数据。 数组元素可以是基本类型的值,也可以是对象(实际保存的是对象的引用);集合类只能保存对象。

1.3、分类

主要分为四种体系:

  • Set:代表无序、不可重复的集合;
  • List:代表有序、重复的集合;
  • Map:代表具有映射关系的集合;
  • Queue:代表一种队列集合的实现;

Set集合类相当于一个罐子,一个对象添加到Set集合时,集合不能记住添加这个元素的顺序,所以Set里的元素不能重复。若访问其中的元素,只能根据元素本身访问; List集合像一个数组,可以记住每次添加元素的顺序,且长度可变。若访问其中元素,可以根据元素的索引访问; Map也像一个罐子,里面的数据由两个值组成:key和value,可以根据每项元素的key来访问其value;

2、Collection接口

Java的集合类主要由两个接口派生而出:Collection和Map,是Java集合框架的根接口,又包含了一系列的子接口。

2.1、Collection接口的继承树

输入图片说明

2.2、Collection接口的基本操作

由于Collection接口是List、Set、Queue接口的父接口,其方法可以操作这三个集合,常见的方法如下:

  • boolean add(object o):向集合里添加一个元素; -void addAll(Collection c):把集合c里的所有元素添加到指定集合里; -boolean clear():清楚集合里所有元素;
  • boolean contains(object o):返回集合里是否包含所有元素;
  • boolean containsAll(Collection cobject o):返回集合里是否包含集合c里的所有元素;
  • boolean isEmpty():返回集合是否为空;
  • Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素;
  • boolean remove(object o):删除集合中指定元素o,若包含多个o时,只删除第一个符合条件的元素;
  • boolean removeAll(Collection c):从集合中删除集合c里包含的所有元素;
  • boolean retainAll(Collection c):从集合中删除集合c里不包含的元素;
  • int size():返回集合里元素的个数;
  • Object[] toArray():把集合转换成一个数组;

所有的Collection类都重写了toString()方法,可一次性地输出集合中的所有元素;

2.3、Collection的遍历

2.3.1、使用forEach()

2.3.2、使用Iterator接口

它是Collection接口的父接口,Iterator必须依附于Collection对象。 定义了3个方法:

  • boolean hasNext():若被迭代的元素还没被遍历完,则返回true;
  • Object next():返回集合里的下一个元素;
  • void remove():删除集合里上一次next方法返回的元素;

© 著作权归作者所有

共有 人打赏支持
yuhuan121
粉丝 0
博文 36
码字总数 38704
作品 0
佛山
程序员
使用IntelliJ IDEA创建Kotlin项目

一、kotlin被谷歌看中后,开始了突飞猛进的进步 下面来看一下维基百科关于Kotlin的介绍 简介: Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它...

王木东
03/28
0
0
Google的Guava类库简介(转)

说明:信息虽然有点旧,至少可以先了解个大概。 Guava是一个Google的基于Java的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotat...

easonjim
2017/11/01
0
0
Apache Commons包简介

Components Description Latest Version Released BeanUtils 易于使用的包装在Java反射和内省API 1.9.2 2014-05-29 CLI 命令行参数解析 1.2 2009-03-19 Codec 一般的编码/解码算法(例如语音...

银月光海
2015/01/15
0
0
1.2.2 Ruby 简介和优势

Ruby 语言由日本人松本行弘(まつもとゆきひろ,英译:Yukihiro Matsumoto,外号Matz)于1993年起开始着手研究,经历2年时间,发不了Ruby语言的第一个版本:0.95版本。根据本行弘的描述:他一...

Gooiem
2015/08/13
0
5
-1-0 Java 简介 java是什么 java简单介绍

Java是一门纯粹的面向对象的高级的平台无关的编程语言 官网介绍: 了解 Java 技术 https://www.java.com/zh_CN/about/ 推荐词条: https://zh.wikipedia.org/wiki/Java https://zh.wikipedia.o...

noteless
07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
52分钟前
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
5
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
3
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0
mixin混入

①新建mixin.js文件 const mixin = { methods: { /** * 分页公共方法 */ handleSizeChange(val) { this.pageData.size = val; this.query(); }, hand......

不负好时光
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部