栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

何时在LinkedList或ArrayList上使用HashMap,反之亦然

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

何时在LinkedList或ArrayList上使用HashMap,反之亦然

列表表示元素的顺序。映射用于表示键/值对的集合。

虽然可以将地图用作列表,但这样做有一定的缺点。

维护顺序:
-按定义排序列表。您添加项目,然后您可以按照插入项目的顺序遍历列表。将项目添加到HashMap时,不能保证以与放入项目相同的顺序检索这些项目。HashMap的子类(如linkedHashMap)将保持该顺序,但通常不能保证Map的顺序。

键/值语义: -映射的目的是基于键存储项目,该键可在以后用于检索项目。只有在键恰巧是列表中位置的有限情况下,列表才能实现类似的功能。

代码的可读性 请考虑以下示例。

    // Adding to a List    list.add(myObject);         // adds to the end of the list    map.put(myKey, myObject);   // sure, you can do this, but what is myKey?    map.put("1", myObject);     // you could use the position as a key but why?    // Iterating through the items    for (Object o : myList)// nice and easy    for (Object o : myMap.values())   // more pre and the order is not guaranteed

集合功能 通过Collections类可以为列表提供一些出色的实用程序功能。例如 …

    // Randomize the list    Collections.shuffle(myList);    // Sort the list    Collections.sort(myList, myComparator);

希望这可以帮助,



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/450033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号