深入解读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 Swing实现自助取款机系统
Jun 11 Java/Android
SpringBoot生成License的实现示例
Jun 16 Java/Android
浅谈@Value和@Bean的执行顺序问题
Jun 16 Java/Android
Spring Boot两种全局配置和两种注解的操作方法
Jun 29 Java/Android
mybatis中注解与xml配置的对应关系和对比分析
Aug 04 Java/Android
JVM钩子函数的使用场景详解
Aug 23 Java/Android
logback如何自定义日志存储
Aug 30 Java/Android
MyBatis自定义SQL拦截器示例详解
Oct 24 Java/Android
springboot+zookeeper实现分布式锁
Mar 21 Java/Android
Java 数据结构七大排序使用分析
Apr 02 Java/Android
JAVA springCloud项目搭建流程
May 11 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
yii2.0实现创建简单widgets示例
2016/07/18 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
Angular6新特性之Angular Material
2018/12/28 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
jQuery实现手风琴特效
2021/01/11 jQuery
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
python异常处理try except过程解析
2020/02/03 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
ktv好的活动方案
2014/08/17 职场文书
校车安全责任书
2014/08/25 职场文书
研究生导师评语
2014/12/31 职场文书
初三语文教学计划
2015/01/22 职场文书
综合素质评价个性与发展自我评价
2015/03/06 职场文书
七年级作文之雪景
2019/11/18 职场文书