深入解读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
浅谈@Value和@Bean的执行顺序问题
Jun 16 Java/Android
springBoot基于webSocket实现扫码登录
Jun 22 Java/Android
Spring Boot两种全局配置和两种注解的操作方法
Jun 29 Java/Android
JUnit5常用注解的使用
Jul 02 Java/Android
Java Socket实现多人聊天系统
Jul 15 Java/Android
SpringBoot实现quartz定时任务可视化管理功能
Aug 30 Java/Android
Java实现给Word文件添加文字水印
Feb 15 Java/Android
关于EntityWrapper的in用法
Mar 22 Java/Android
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
Apr 24 Java/Android
springboot读取nacos配置文件
May 20 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
Jun 28 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高效率写法(详解原因)
2013/06/20 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
innerText 使用示例
2014/01/23 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
jQuery remove()过滤被删除的元素(推荐)
2017/07/18 jQuery
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
使用Python对Csv文件操作实例代码
2017/05/12 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
python搜索包的路径的实现方法
2019/07/19 Python
Python list与NumPy array 区分详解
2019/11/06 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
iPython pylab模式启动方式
2020/04/24 Python
python如何实时获取tcpdump输出
2020/09/16 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
法人授权委托书
2014/04/03 职场文书
学校运动会广播稿
2014/10/11 职场文书
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python