深入解读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内存模型之happens-before概念详解
Jun 13 Java/Android
详解Java实践之抽象工厂模式
Jun 18 Java/Android
spring boot项目application.properties文件存放及使用介绍
Jun 30 Java/Android
springboot 启动如何排除某些bean的注入
Aug 02 Java/Android
关于springboot配置druid数据源不生效问题(踩坑记)
Sep 25 Java/Android
alibaba seata服务端具体实现
Feb 24 Java/Android
Java设计模式中的命令模式
Apr 28 Java/Android
Java对文件的读写操作方法
Apr 29 Java/Android
java版 简单三子棋游戏
May 04 Java/Android
Java 多线程协作作业之信号同步
May 11 Java/Android
java实现面板之间切换功能
Jun 10 Java/Android
Spring boot admin 服务监控利器详解
Aug 05 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实现多服务器共享SESSION数据的方法
2007/03/16 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
使用CodeIgniter的类库做图片上传
2014/06/12 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
python操作mongodb根据_id查询数据的实现方法
2015/05/20 Python
python字典的常用操作方法小结
2016/05/16 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
Django通过json格式收集主机信息
2020/05/29 Python
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
恒华伟业笔试面试题
2015/02/26 面试题
中学教师实习自我鉴定
2013/09/28 职场文书
初中班主任评语大全
2014/04/24 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
员工安全生产责任书
2014/07/22 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
2019广播稿怎么写
2019/04/17 职场文书
Python多线程 Queue 模块常见用法
2021/07/04 Python