Java--容器/集合类(Collection)理解和使用
、数组和集合的比较
数组:长度固定,用来存放基本类型的数据
集合:长度不固定,用来存放对象的引用
二、集合类的基本概念
1.java.util包中提供了一些集合类,这些集合类也被称为容器。
常用的集合有List集合、Set集合、Map集合,他们的关系继承如下:

2.Collection接口:
Collection<String> list = new ArrayList<>()
常用方法:
| 方法 | 功能描述 |
| add(E e) | 将指定的对象添加到该集合中 |
| remove(Object o) | 将指定的对象从该集合中删除 |
| isEmpty() | 判断当前集合是否为空,返回boolean型 |
| iterator() | 迭代器,用于遍历集合中的对象 |
| size() | 获取集合中的元素,返回int值 |
3.List接口:(有序,可以用索引来访问元素,包含重复对象)
(1)ArrayList是可变的数组,允许保存所以的元素,速度较慢
(2)LinkedList便于插入和删除对象
List<E> list = new ArrayList<>()
List<E> list = new LinkedList<>() {E为数据类型,如果不懂的话看上一篇讲泛型的随笔}
其他两个常用方法;
| 方法 | 功能描述 |
| get(int index) | 获得指定索引位置的元素 |
| set(int index, Object obj) | 将指定位置元素修改为指定对象 |
4.Set集合:(无序,不包含重复对象)
TreeSet<E> tree = new TreeSet<>()
其他两个常用方法;
| 方法 | 功能描述 |
| first() | 返回此set中第一个元素 |
| last() | 返回此set中最后一个元素 |
5.Map接口:(没有继承Collection接口,提供key到value的映射,不能包含相同的key,且每一个key只能映射一个value)
Map<E, E> map = new HashMap<>(); <E, E>指的是key和value的数据类型。
| 方法 | 功能描述 |
| put(K key, V value) | 向集合中添加key和value的映射关系 |
| get(Object key) | 如果存在指定的key对象,则返回该对象对应的value,否则返回null |
| keyset() | 返回集合中所有key对象形成的set集合 |
| values() | 返回集合中所有value形成的Collection集合 |
Java--容器/集合类(Collection)理解和使用的更多相关文章
- 【Java心得总结六】Java容器中——Collection
在[Java心得总结五]Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...
- Java 容器:Collection 初探之 List
1 ///: JavaBasic//com.cnblogs.pattywgm.day1//CollectionTest.java 2 3 package com.cnblogs.pattywgm.da ...
- Java容器集合类的区别用法
Set,List,Map,Vector,ArrayList的区别 JAVA的容器---List,Map,Set Collection ├List │├LinkedList │├ArrayList │└ ...
- Java——容器(Collection)
Collection是一个接口,定义了一系列的方法. [常见方法]
- java 容器(collection)--ArrayList 常用方法分析 源码分析
ArrayList 介绍 打开jdk源码看看官方文档的介绍 粗糙的翻译下大致意思是: List接口的可调整大小的数组实现.实现了所有可选的列表操作,并允许所有元素,包括 null .除了实现List接 ...
- java容器(一) Collection类框架图解
- 【Java心得总结七】Java容器下——Map
我将容器类库自己平时编程及看书的感受总结成了三篇博文,前两篇分别是:[Java心得总结五]Java容器上——容器初探和[Java心得总结六]Java容器中——Collection,第一篇从宏观整体的角 ...
- 【Java心得总结五】Java容器上——容器初探
在数学中我们有集合的概念,所谓的一个集合,就是将数个对象归类而分成为一个或数个形态各异的大小整体. 一般来讲,集合是具有某种特性的事物的整体,或是一些确认对象的汇集.构成集合的事物或对象称作元素或是成 ...
- 【公开课】【阿里在线技术峰会】魏鹏:基于Java容器的多应用部署技术实践
对于公开课,可能目前用不上这些,但是往往能在以后想解决方案的时候帮助到我.以下是阿里对公开课的整理 摘要: 在首届阿里巴巴在线峰会上,阿里巴巴中间件技术部专家魏鹏为大家带来了题为<基于Java容 ...
- 理解java容器:iterator与collection,容器的起源
关于容器 iterator与collection:容器的起源 iterator的简要介绍 iterable<T> iterator<T> 关于remove方法 Collecti ...
随机推荐
- golang开发:(二)安装 Golang
当然了我们的安装都是在vagrant里面安装,vagrant ssh.不用虚拟机了,本机安装当然也可以. Mac 安装 访问下载地址,下载 go1.12.5.darwin-amd64.pkg,双击下载 ...
- 覆盖equals方法时请遵守通用约定
覆盖equals方法时请遵守通用约定 覆盖equals方法看起来很简单,但是有许多覆盖方式会导致错误,并且后果很严重.最容易避免这种类问题的方法就是不覆盖equals方法,在这种情况下,类的每个实 ...
- 解决tomcat一闪而过(转)
转自 http://blog.csdn.net/znn626/article/details/7893555 遇到很多次运行startup.bat后,一个窗口一闪而过的问题,但是从来没去纠正怎样修改配 ...
- HDU4089(概率dp)
题解 要点: 1.转移方程分三段,这个……有点复杂但是还好吧……大概就是求啥设啥,然后只通过可行的状态过来.在纸上记一记. 2.每层里面必须先求dp[i][i],简直就是我求我自己……用类似进制数那种 ...
- Hive_Hive的数据类型
Hive Basic Data Type: Basic Types: tinyint/samllint/int/bigint float/double boolean string Complex T ...
- Jmeter----小技巧(3)
1.关闭启动Jmeter时出现的面板 说明:启动Jmeter的同时往往会打开一个下图所示的面板,经常不小心关掉后,导致Jmeter停止运行,偶尔写了好久的脚本没来得及保存就没了,烦恼不已 怎样避免如上 ...
- 部署iis服务器与c#程序遇到的问题小结
记得上次部署IIS服务器比较顺利,半天搞定的?有点忘了. 但,服务器版本各有不同,这次装的是server2008 R2 Ennterprice版.虽然忘了上次装的是哪个版本,但进去后发现有些东西明显不 ...
- C8051F单片机定时器的定时
假设C8051F020单片机的晶振是sysclk=22114800HZ,即每秒计22114800个数经过Div=12分频后得到定时器的计数频率Tclk=sysclk/12,每秒计22114800÷12 ...
- Exception in thread "main" java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package解决办法(图文详解)
不多说,直接上干货! 问题详情 SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF ...
- JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
contextmenu事件 该事件用以表示何时应该显示上下文菜单,以便开发者取消默认的上下文菜单,转而提供自定义的菜单. 因为该事件属于鼠标事件,所以其事件对象中包含与光标位置有关的所有属性.如: & ...