Java基础 Map集合 HashMap TreeMap 基础使用

编程入门 行业动态 更新时间:2024-10-10 06:15:05

Java<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础 Map集合 HashMap TreeMap 基础使用"/>

Java基础 Map集合 HashMap TreeMap 基础使用

开发环境:

        Eclipse2022+ JDK1.8

1. 概述

        Map是一种键-值(key-value)集合,每一个元素都包含一个key对象和一个value对象,且key和value之间存在一对一的关系。key值不允许重复,value可以重复。

        Map接口主要的实现类有HashMap和TreeMap。HashMap按哈希算法存取键对象。TreeMap可以对键对象进行排序。

        HashMap、TreeMap均实现Map接口,两者均继承AvstractMap类。HashMap的元素是无序的,TreeMap默认是按key值升序。两者在基础使用上大部分相同。如果对集合元素有排序要求,可以使用TreeMap, 没有的话,建议使用HashMap.

2. 定义与声明

Map<String,String> users = new HashMap<String,String>();
HashMap<String,String> users = new HashMap<String,String>();
TreeMap<String,String> users= new TreeMap<String,String>();

3. 基础功能

        通过以下代码,可以对基础功能进行一个基本的认识。

        3.1 HashMap

package map;import java.util.*;public class MapTest {public static void main(String[] args) {HashMap<String,String> users = new HashMap<String,String>();//增加元素users.put("44", "李元昊");users.put("11", "张浩太");users.put("33", "王强文");users.put("55", "王路路");users.put("22", "刘思诚");//如果key值重复 实际处理是替换掉了原来的users.put("55", "范清清");System.out.println(users);//返回所有value集合//System.out.println(users.values());//替换1//users.replace("11", "王大锤");//System.out.println(users);//替换2//users.replace("22", "刘思诚", "李院长");//System.out.println(users);//根据key值删除元素//users.remove("11");//根据key-value值删除元素//users.remove("22", "刘思诚");//清除列表//users.clear();//获取列表个数 如果为0 判断为空 也可以通过isEmpty()判断//System.out.println("元素个数"+ users.size());////if (users.isEmpty()) {//	System.out.println("users为空!"+ users.size());//} else {//	System.out.println("users不为空!"+ users.size());//}//根据key判断是否存在//if (users.containsKey(String.valueOf("11"))){//	System.out.println("有key为11的学生!");//}//根据value判断是否存在//if (users.containsValue(String.valueOf("王强文"))){//	System.out.println("有value为[王强文]的学生!");//}//根据key获取value值//System.out.println(users.get("11"));//Map数据复制//Map<String, String> map= new HashMap<String,String>();//map.putAll(users);//System.out.println(map);//遍历1 推荐这种//for(Map.Entry<String,String> entry: users.entrySet()) {//	System.out.println("key:"+ entry.getKey()+ " value:"+ entry.getValue());//}//遍历2//for(Map.Entry entry: users.entrySet()) {//	System.out.println("key:"+ entry.getKey()+ " value:"+ entry.getValue());//}//遍历3//Iterator it= users.keySet().iterator();//while (it.hasNext()) {//	String key= it.next().toString();//	String value= users.get(key);//	System.out.println("key:"+ key+ " value:"+ value);//}//遍历4//for(String key: users.keySet()) {//	System.out.println("key:"+ key+ " value:"+ users.get(key));//}}}

        3.2 TreeMap

        拥有HashMap的绝大部分方法,且有自己的方法. 主要是一个排序。

package map;import java.util.*;public class TreeMapTest {public static void main(String[] args) {TreeMap<String,String> users= new TreeMap<String,String>();//增加元素users.put("44", "李元昊");users.put("11", "张浩太");users.put("33", "王强文");users.put("55", "王路路");users.put("22", "刘思诚");//排序 默认是按key值升序System.out.println(users);//排序 倒序//System.out.println(users.descendingMap());//获取第一个元素//System.out.println(users.firstEntry().toString());//获取第一个元素key值//System.out.println(users.firstEntry().getKey());//获取第一个元素value值//System.out.println(users.firstEntry().getValue());//获取最后一个元素//System.out.println(users.lastEntry().toString());//获取最后一个元素key值//System.out.println(users.lastEntry().getKey());//获取最后一个元素value值//System.out.println(users.lastEntry().getValue());//返回第一个key大于等于33的键值对//System.out.println(users.ceilingEntry("33"));//返回所有key大于等于33的键值对 tailMap()有第二个参数 默认true 表示包含等于//System.out.println(users.tailMap("33"));//返回所有key大于等于33的键值对 tailMap()有第二个参数 设置false 表示不包含等于//System.out.println(users.tailMap("33", false));//返回第一个key小于等于33的键值对//System.out.println(users.floorEntry("33"));//返回所有key小于33的键值对 headMap()有第二个参数 默认false 表示不包含等于//System.out.println(users.headMap("33"));//返回所有key小于33的键值对 headMap()有第二个参数 设置true 表示包含等于//System.out.println(users.headMap("33", true));//如果key值重复 实际处理是替换掉了原来的//users.put("55", "范清清");//System.out.println(users);//返回所有value集合//System.out.println(users.values());//替换1//users.replace("11", "王大锤");//System.out.println(users);//替换2//users.replace("22", "刘思诚", "李院长");//System.out.println(users);//根据key值删除元素//users.remove("11");//根据key-value值删除元素//users.remove("22", "刘思诚");//清除列表//users.clear();//获取列表个数 如果为0 判断为空 也可以通过isEmpty()判断//System.out.println("元素个数"+ users.size());//if (users.isEmpty()) {//	System.out.println("users为空!"+ users.size());//} else {//	System.out.println("users不为空!"+ users.size());//}//根据key判断是否存在//if (users.containsKey(String.valueOf("11"))){//	System.out.println("有key为11的学生!");//}//根据value判断是否存在//if (users.containsValue(String.valueOf("王强文"))){//	System.out.println("有value为[王强文]的学生!");//}//根据key获取value值//System.out.println(users.get("11"));//Map数据复制//Map<String, String> map= new TreeMap<String,String>();//map.putAll(users);//System.out.println(map);//遍历1 推荐这种//for(Map.Entry<String,String> entry: users.entrySet()) {//	System.out.println("key:"+ entry.getKey()+ " value:"+ entry.getValue());//}//遍历2//for(Map.Entry entry: users.entrySet()) {//	System.out.println("key:"+ entry.getKey()+ " value:"+ entry.getValue());//}//遍历3//Iterator it= users.keySet().iterator();//while (it.hasNext()) {//	String key= it.next().toString();//	String value= users.get(key);//	System.out.println("key:"+ key+ " value:"+ value);//}//遍历4//for(String key: users.keySet()) {//	System.out.println("key:"+ key+ " value:"+ users.get(key));//}}}

4. 结束

        学习整理。

更多推荐

Java基础 Map集合 HashMap TreeMap 基础使用

本文发布于:2024-03-23 15:29:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1739790.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   Java   Map   TreeMap   HashMap

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!