深入解读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 相关文章推荐
ConstraintValidator类如何实现自定义注解校验前端传参
Jun 18 Java/Android
Java集成swagger文档组件
Jun 28 Java/Android
Spring Boot 实现敏感词及特殊字符过滤处理
Jun 29 Java/Android
java实现对Hadoop的操作
Jul 01 Java/Android
SpringBoot集成Druid连接池连接MySQL8.0.11
Jul 02 Java/Android
SpringBoot整合RabbitMQ的5种模式实战
Aug 02 Java/Android
MyBatis-Plus 批量插入数据的操作方法
Sep 25 Java/Android
Java实现学生管理系统(IO版)
Feb 24 Java/Android
教你在 Java 中实现 Dijkstra 最短路算法的方法
Apr 08 Java/Android
Java版 简易五子棋小游戏
May 04 Java/Android
Java实现扫雷游戏详细代码讲解
May 25 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获取文件夹大小函数用法实例
2015/07/01 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
PHP实现的曲线统计图表示例
2016/11/10 PHP
Javascript 读书笔记索引贴
2010/01/11 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
js模糊查询实例分享
2016/12/26 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
jquery 手势密码插件
2017/03/17 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
AngularJS实现注册表单验证功能
2017/10/16 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
webpack4.0+vue2.0利用批处理生成前端单页或多页应用的方法
2019/06/28 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
深入源码解析Python中的对象与类型
2015/12/11 Python
python编码最佳实践之总结
2016/02/14 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
TensorFlow实现创建分类器
2018/02/06 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
玛蒂尔达简服装:Matilda Jane Clothing
2019/02/13 全球购物
八年级生物教学反思
2014/01/22 职场文书
青年教师培训方案
2014/02/06 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS