当前位置: 首页 > news >正文

【Map】Map集合有序与无序测试案例:HashMap,TreeMap,LinkedHashMap(121)

简单介绍常用的三种Map:不足之处,欢迎指正!

HashMap:put数据是无序的;
TreeMap:key值按一定的顺序排序;数字做key,put数据是有序,非数字字符串做key,put数据无序;
LinkedHashMap:LinkedHashMap是有序的,且默认为插入顺序;

测试案例

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;public class day12 {public static void main(String[] args) {List<String> list1 = Arrays.asList("黄","河","之","水","天","上","来","奔","流","到","海","不","复","回");List<Integer> list2 = Arrays.asList(1  , 2  , 3 , 4  ,  5 , 6  ,7  ,  8 , 9  ,10  , 11 ,12 , 13 , 14);Map<String,Object> hashMap = new HashMap<>();Map<String,Object> treeMap = new TreeMap<>();Map<String,Object> linkedHashMap = new LinkedHashMap<>();Map<Integer,Object> treeMap2 = new TreeMap<>();for (int i = 0; i < list1.size(); i++) {hashMap.put(list1.get(i), list2.get(i));treeMap.put(list1.get(i), list2.get(i));linkedHashMap.put(list1.get(i), list2.get(i));treeMap2.put(list2.get(i), list1.get(i));}List<String> list5 = new ArrayList<>();List<String> list6 = new ArrayList<>();Iterator<Map.Entry<String, Object>> it = hashMap.entrySet().iterator();while(it.hasNext()){Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String value = String.valueOf(entry.getValue());list5.add(key);list6.add(value);}System.out.println("hashMap:"+"无序案例");System.out.println("hashMap:"+hashMap);System.out.println("list5ap:"+list5);System.out.println("list6ap:"+list6);System.out.println("--------------------------------------------------");List<String> list7 = new ArrayList<>();List<String> list8 = new ArrayList<>();Iterator<Map.Entry<String, Object>> it2 = treeMap.entrySet().iterator();while(it2.hasNext()){Map.Entry<String, Object> entry = it2.next();String key = entry.getKey();String value = String.valueOf(entry.getValue());list7.add(key);list8.add(value);}System.out.println("treeMap:"+"无序案例");System.out.println("treeMap:"+treeMap);System.out.println("list7ap:"+list7);System.out.println("list8ap:"+list8);System.out.println("--------------------------------------------------");List<String> list9 = new ArrayList<>();List<String> list10 = new ArrayList<>();Iterator<Map.Entry<String, Object>> it3 = linkedHashMap.entrySet().iterator();while(it3.hasNext()){Map.Entry<String, Object> entry = it3.next();String key = entry.getKey();String value = String.valueOf(entry.getValue());list9.add(key);list10.add(value);}System.out.println("linkedHashMap:"+"有序案例");System.out.println("linkedHashMap:"+linkedHashMap);System.out.println("list9dHashMap:"+list9);System.out.println("list10dHashMap:"+list10);System.out.println("--------------------------------------------------");List<String> list11 = new ArrayList<>();List<String> list12 = new ArrayList<>();Iterator<Map.Entry<Integer,Object>> it4 = treeMap2.entrySet().iterator();while(it4.hasNext()){Map.Entry<Integer,Object> entry = it4.next();Integer key = entry.getKey();String value = String.valueOf(entry.getValue());list11.add(key.toString());list12.add(value);}System.out.println("treeMap2:"+"有序案例");System.out.println("treeMap2:"+treeMap2);System.out.println("list11ap:"+list11);System.out.println("list12ap:"+list12);}
}

测试输出

hashMap:无序案例
hashMap:{=9,=1,=7,=5,=6,=3,=12,=13,=10,=2,=4,=8,=11,=14}
list5ap:[,,,,,,,,,,,,,]
list6ap:[9, 1, 7, 5, 6, 3, 12, 13, 10, 2, 4, 8, 11, 14]
--------------------------------------------------
treeMap:无序案例
treeMap:{=6,=12,=3,=10,=14,=13,=5,=8,=7,=4,=2,=9,=11,=1}
list7ap:[,,,,,,,,,,,,,]
list8ap:[6, 12, 3, 10, 14, 13, 5, 8, 7, 4, 2, 9, 11, 1]
--------------------------------------------------
linkedHashMap:有序案例
linkedHashMap:{=1,=2,=3,=4,=5,=6,=7,=8,=9,=10,=11,=12,=13,=14}
list9dHashMap:[,,,,,,,,,,,,,]
list10dHashMap:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
--------------------------------------------------
treeMap2:有序案例
treeMap2:{1=, 2=, 3=, 4=, 5=, 6=, 7=, 8=, 9=, 10=, 11=, 12=, 13=, 14=}
list11ap:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
list12ap:[,,,,,,,,,,,,,]
http://www.lryc.cn/news/148000.html

相关文章:

  • TiDB Serverless Branching:通过数据库分支简化应用开发流程
  • 运用亚马逊云科技Amazon Kendra,快速部署企业智能搜索应用
  • C# 使用 OleDbConnection 连接读取Excel的方法
  • 【LeetCode-中等题】98. 验证二叉搜索树
  • Leetcode-每日一题【剑指 Offer 37. 序列化二叉树】
  • 删除无点击数据offer数据分析使用
  • 【Apollo学习笔记】——规划模块TASK之SPEED_BOUNDS_PRIORI_DECIDER
  • 物理机ping不通windows server 2012
  • 誉天HCIE-Datacom丨为什么选择誉天数通HCIE课程学习
  • Python文本终端GUI框架详解
  • 01_lwip_raw_udp_test
  • 学习ts(十一)本地存储与发布订阅模式
  • MySQL对NULL值处理
  • Vector 动态数组(迭代器)
  • 多组背包恰好装满方案数
  • Oracle查询语句中做日期加减运算
  • Unity贝塞尔曲线的落地应用-驱动飞行特效
  • VTK——设置交互样式上的鼠标回调函数
  • Flutter实现动画列表AnimateListView
  • 【LeetCode-中等题】236. 二叉树的最近公共祖先
  • 如何拼接两个视频在一起?
  • Programming abstractions in C阅读笔记:p130-p131
  • 如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问
  • C#---第二十:不同类型方法的执行顺序(new / virtual / common / override)
  • lnmp架构-PHP
  • 【javascript实操记录】
  • Mysql--技术文档--悲观锁、乐观锁-《控制并发机制简单认知、深度理解》
  • 【GO】LGTM_Grafana_Tempo(2)_官方用例改后实操
  • git 口令
  • 【回眸】剑指offer(二)解题思路