博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA基础知识|集合
阅读量:6682 次
发布时间:2019-06-25

本文共 1702 字,大约阅读时间需要 5 分钟。

一、集合框架

Collection接口:没有提供直接的实现类,但是却被继承产生了三个重要的接口List、Set、Queue。

Map接口:和Collection接口没有直接的关系,但都属于集合类中的一部分。

Iterator接口:所有的集合类都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含三个方法:hasNext()、next()、remove()。

二、几种常见的接口及类

List及其实现类:存放的对象是有序的,可以重复,查询速度快,但是插入和删除速度较慢,因为要伴随着后面数据的移动。

Set及其实现类:存放的对象是无序的(TreeSet除外),不可以重复。

Map及其实现类:存放的对象是无序的(TreeMap除外),存放的内容为键值对,键不可以重复,值可以重复。根据键获取值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。

三、Map集合的四种遍历方式

Map
map = new HashMap
(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:效率低,二次取值 System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //第二种 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator
> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry
entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第三种:推荐,尤其是容量大时 System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry
entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第四种 System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); }

四、常见集合之间的区别

HashTable与HashMap

1、同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的。
2、HashMap允许存在一个为null的key,多个为null的value 。
3、hashtable的key和value都不允许为null。

转载于:https://www.cnblogs.com/maikucha/p/8882237.html

你可能感兴趣的文章
[一文一命令]cut命令详解
查看>>
Koala五分钟快速入门
查看>>
Elasticsearch开启groovy动态语言支持
查看>>
sqlserver中查询表,查询表的字段方式
查看>>
过滤器的作用
查看>>
Jenkins配置基于角色的项目权限管理
查看>>
Oryx简介
查看>>
cacti监控安装与配置
查看>>
SUSE10 SP1上安装DB2v9.5数据库
查看>>
Java IO之字符流
查看>>
Confluence 6 修改导航显示选项
查看>>
有hibernate的实体类转化成JSON过滤无干类型
查看>>
Centos+Sersync+inotify实时同步数据文件(一)
查看>>
Windows Live Writer发布多个日志
查看>>
python 线程
查看>>
深入浅出桌面虚拟化存储性能的评估
查看>>
druid 数据库密码加密
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
唾面自干
查看>>