深入解读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 11 Java/Android
JVM入门之类加载与字节码技术(类加载与类的加载器)
Jun 15 Java/Android
SpringBoot2 参数管理实践之入参出参与校验的方式
Jun 16 Java/Android
mybatis 解决从列名到属性名的自动映射失败问题
Jun 30 Java/Android
Java Kafka 消费积压监控的示例代码
Jul 01 Java/Android
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 Java/Android
Java使用Unsafe类的示例详解
Sep 25 Java/Android
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
Jan 18 Java/Android
Java中的随机数Random
Mar 17 Java/Android
使用HttpSessionListener监听器实战
Mar 17 Java/Android
SpringBoot2零基础到精通之数据库专项精讲
Mar 22 Java/Android
Java由浅入深通关抽象类与接口(上篇)
Apr 26 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 Ajax实现页面无刷新发表评论
2007/01/02 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
让PHP更快的提供文件下载的代码
2012/06/13 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
PHP实现事件机制的方法
2015/07/10 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python的常见矩阵运算(小结)
2019/08/07 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
教育学专业毕业生的自我评价
2013/11/21 职场文书
家长评语和期望
2014/02/10 职场文书
学雷锋先进个人事迹
2014/05/26 职场文书
2014年计生标语
2014/06/23 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
迎国庆演讲稿
2014/09/05 职场文书
八一建军节演讲稿
2014/09/10 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL