深入解读Java三大集合之map list set的用法


Posted in Java/Android onNovember 11, 2021

Map接口和Collection接口是所有集合框架的父接口:

Collection接口的子接口包括:Set接口和List接口
Map接口的实现类主要有:HashMap、TreeMap、Hashtable、ConcurrentHashMap以及Properties等
Set接口的实现类主要有:HashSet、TreeSet、LinkedHashSet等
List接口的实现类主要有:ArrayList、LinkedList、Stack以及Vector等

List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点?

深入解读Java三大集合之map list set的用法

Collection集合主要有List和Set两大接口

(1)List:是一个有序,元素可以重复。常用的实现类有 ArrayList、LinkedList 和 Vector。
(2)Set:是一个无序,不可以存储重复元素,只允许存入一个null元素,Set 接口常用实现类是 HashSet、LinkedHashSet 以及 TreeSet。

Map

Map是一个键值对集合,存储键、值和之间的映射。 Key无序,唯一;value 不要求有序,允许重复。Map没有继承于Collection接口,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。

Map 的常用实现类:HashMap、TreeMap、HashTable、LinkedHashMap、ConcurrentHashMap

  • (1)Map 存元素和取元素和删除(put、get、remove)
import java.util.HashMap;
/**
 * Map 存元素和取元素和删除(put、get、remove)
 * @author 小治的高等数学
 *
 */
public class Map1 {
	public static void main(String[] args) {
		 // 创建 HashMap 对象 Sites
        HashMap<String, String> sites = new HashMap<String, String>();
        // 添加键值对
        sites.put("1", "Google");
        sites.put("2", "Runoob");
        sites.put("3", "Taobao");
        sites.put("4", "Zhihu");
        // 输出Map中所有元素
        System.out.println(sites);
        // 拿出Map中key的为1的value的值
        System.out.println(sites.get("1"));
        System.out.println(sites.get("3"));
        sites.remove("3");
        System.out.println(sites.get("3"));
        System.out.println(sites);
	}
}
  • (2)循环Map
package basics.map;
 
import java.util.HashMap;
import java.util.Map.Entry;
public class Map2 {
	public static void main(String[] args) {
		 // 创建 HashMap 对象 Sites
        HashMap<Integer, String> sites = new HashMap<Integer, String>();
        // 添加键值对
        sites.put(4, "Zhihu");
        sites.put(1, "Google");
        sites.put(2, "Runoob");
        sites.put(3, "Taobao");
        sites.put(4, "Zhihu2");
        // 只循环 key
        for (Integer i : sites.keySet()) {
            System.out.println("key: " + i + " value: " + sites.get(i));
        }
        // 只循环 value 值
        for(String value: sites.values()) {
          // 输出每一个 value
          System.out.println(value + ", ");
        }
        
        // 循环 key 和 value
        for (Entry<Integer, String> entry : sites.entrySet()) {
        	System.out.println("只输出key "+entry.getKey());
        	System.out.println("只输出value "+entry.getValue());
        }
        
        for (int i = 0; i <= sites.size(); i++) {
			System.out.println(sites.get(i));
		}
	}
}

以上就是深入解读Java三大集合之map list set的用法的详细内容,更多关于Java 三大集合的资料请关注三水点靠木其它相关文章!

Java/Android 相关文章推荐
Java实现斗地主之洗牌发牌
Jun 14 Java/Android
springboot拦截器无法注入redisTemplate的解决方法
Jun 27 Java/Android
ObjectMapper 如何忽略字段大小写
Jun 29 Java/Android
Java并发编程必备之Future机制
Jun 30 Java/Android
java设计模式--原型模式详解
Jul 21 Java/Android
dubbo服务整合zipkin详解
Jul 26 Java/Android
Java后台生成图片的完整步骤
Aug 04 Java/Android
java调用Restful接口的三种方法
Aug 23 Java/Android
JavaCV实现照片马赛克效果
Jan 22 Java/Android
Java如何实现通过键盘输入一个数组
Feb 15 Java/Android
Java详细解析==和equals的区别
Apr 07 Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
Jun 16 Java/Android
详解JAVA的控制语句
Nov 11 #Java/Android
Java 实战项目之家居购物商城系统详解流程
Nov 11 #Java/Android
Java8中Stream的一些神操作
springboot如何接收application/x-www-form-urlencoded类型的请求
Nov 02 #Java/Android
Java 在生活中的 10 大应用
Nov 02 #Java/Android
使用Spring处理x-www-form-urlencoded方式
Nov 02 #Java/Android
Java 实现限流器处理Rest接口请求详解流程
You might like
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
angular.foreach 循环方法使用指南
2015/01/06 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
Nodejs 和Session 原理及实战技巧小结
2017/08/25 NodeJs
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python登陆asp网站页面的实现代码
2015/01/14 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
pytorch标签转onehot形式实例
2020/01/02 Python
Python运行DLL文件的方法
2020/01/17 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
装潢设计专业推荐信模板
2013/11/26 职场文书
家教广告词
2014/03/19 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
班级活动总结格式
2014/08/30 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
小学班主任自我评价
2015/03/11 职场文书
应聘教师求职信范文
2015/03/20 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
小学三年级作文之写景
2019/11/05 职场文书
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
python接口测试返回数据为字典取值方式
2022/02/12 Python
在Python 中将类对象序列化为JSON
2022/04/06 Python