【Map】Map集合有序与无序测试案例(121)

news/2024/10/21 9:47:37/

简单介绍常用的三种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.ppmy.cn/news/1069262.html

相关文章

前端面试:【系统设计与架构】组件化、模块化、微前端的现代前端架构演进

前端架构和设计一直在不断演进&#xff0c;以满足不断变化的需求和应对日益复杂的前端应用程序。在本文中&#xff0c;我们将探讨三个重要的现代前端架构概念&#xff1a;组件化、模块化和微前端&#xff0c;以及它们在构建可维护、可扩展的前端应用程序中的作用。 1. 组件化&a…

ViewPager+ Fragment结合的setUserVisibleHint()调用时机

最近的项目使用到了ViewPager Fragment的模式&#xff0c;要求在每次Fragment获取显示的时候来刷新数据&#xff0c;该项目下ViewPager有5个子fragment&#xff0c;在onCreateView及fragment的**setUserVisibleHint&#xff08;bool isVisibleToUser)**中的isVisibleToUser为t…

初学者必看!我的第一个Invideo人工智能文字生成视频

这是一个使用人工智能生成视频的在线平台。 主要功能包括: - 视频脚本自动生成:可以通过输入主题,由AI自动生成视频故事剧本。 - 人声合成:支持上传脚本,AI会合成自然的人声进行朗读。 - 视频制作:有多种视频模板可选择,支持上传自己的素材,一键生成完整视频。 - 特效和增…

Mysql--技术文档--B树-数据结构的认知

阿丹解读&#xff1a; B树&#xff08;B tree&#xff09;和B树&#xff08;B-tree&#xff09;都是常见的自平衡搜索树数据结构&#xff0c;用于在存储和检索大量数据时提供高效的操作。 基本概念-B树/B树 B树&#xff08;B-tree&#xff09;和B树&#xff08;B tree&#x…

webassembly010 ggml的其他封装:Python,Rust ,javascript

其他封装Tensor library for machine learning, inspired by ggmlhttps://github.com/candrewlee14/zgmlBleeding edge low level Rust binding for GGMLhttps://github.com/KerfuffleV2/ggml-sys-bleedingedgeYour customized AI characters - personal assistants on any har…

Elasticsearch中倒排索引、分词器、DSL语法使用介绍

&#x1f353; 简介&#xff1a;java系列技术分享(&#x1f449;持续更新中…&#x1f525;) &#x1f353; 初衷:一起学习、一起进步、坚持不懈 &#x1f353; 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正&#x1f64f; &#x1f353; 希望这篇文章对你有所帮助,欢…

机器学习-神经网络(西瓜书)

神经网络 5.1 神经元模型 在生物神经网络中&#xff0c;神经元之间相互连接&#xff0c;当一个神经元受到的外界刺激足够大时&#xff0c;就会产生兴奋&#xff08;称为"激活"&#xff09;&#xff0c;并将剩余的"刺激"向相邻的神经元传导。 神经元模型…

服务网格实施周期缩短 50%,丽迅物流基于阿里云 ACK 和 ASM 的云原生应用管理实践

作者&#xff1a;王夕宁、 刘强、 华相 公司介绍 丽迅物流是百丽旗下专注于时尚产业、为企业提供专业物流及供应链解决方案的服务商。其产品服务主要包括城市落地配、仓配一体、干线运输及定制化解决方案。通过自研智能化物流管理平台&#xff0c;全面助力企业合作集约化发展…