深入解读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 相关文章推荐
如何解决springcloud feign 首次调用100%失败的问题
Jun 23 Java/Android
Spring整合Mybatis的全过程
Jun 28 Java/Android
Maven学习----Maven安装与环境变量配置教程
Jun 29 Java/Android
JavaGUI模仿QQ聊天功能完整版
Jul 04 Java/Android
Spring Boot 整合 Apache Dubbo的示例代码
Jul 04 Java/Android
详细了解MVC+proxy
Jul 09 Java/Android
SpringMVC 整合SSM框架详解
Aug 30 Java/Android
使用Java去实现超市会员管理系统
Mar 18 Java/Android
Spring Data JPA框架Repository自定义实现
Apr 28 Java/Android
Android开发之底部导航栏的快速实现
Apr 28 Java/Android
解决Springboot PostMapping无法获取数据的问题
May 06 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计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
Cookie 小记
2010/04/01 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
解决iview打包时UglifyJs报错的问题
2018/03/07 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python抓取网页图片示例(python爬虫)
2014/04/27 Python
理解python多线程(python多线程简明教程)
2014/06/09 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
python如何使用腾讯云发送短信
2020/09/17 Python
用python对excel查重
2020/12/07 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
个人自我鉴定范文
2013/10/04 职场文书
村委会贫困证明
2014/01/14 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
乌镇导游词
2015/02/02 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书