Java基础之Collection和Map

List:实现了collection接口,list可以重复,有顺序

实现方式:3种,分别为:ArrayList,LinkedList,Vector。

三者的比较:

ArrayList底层是一个动态数组,数组是使用连续的内存空间,有索引,所以它查询快,增删的时候需要移动内存,所以增删慢。

LinkedList底层是一个动态链表,内存是不连续的,查询的时候需要一个节点一个节点的找,所以说,查询慢,但是增删快,因为他不需要挪动内存,只需要修改链表指针。

ArrayList和LinkedList都是线程不安全的,所以适合于单线程。

Vector也实现动态数组,已经被ArrayList替代,它是属于查询安修改也慢,他可以无限加长,是线程安全的,因为它底层用synchronize修饰。

Set:实现了collection接口,不可重复,也没有顺序

实现方式:HashSet,TreeSet,

二者的比较:HashSet它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素

    TreeSet:对排序有更高的要求时使用。

HashSet:有下面的例子可以看出,输出的结果是无序的。

结果:

 

Map:实现了的Map接口,以键值对的形式存在,其中键不可重复,值可以重复。但是在代码中,如果键写重复了并不会报错,值会覆盖了之前键所对应的值。

例如:map.put(“1”,“A”);map.put(“1”,“B”);map.put(“1”,“C”);那么此时,最后一个就把之前两个覆盖了。也相当于完成了修改的功能。

实现方式:4种,分别是HashMap;TreeMap;HashTable;LinkedHashMap;

四者的比较:

  HashMap:

    • 线程不安全,效率高。允许null键和null值
    • 是基于哈希表的Map接口实现。哈希表的作用是用来保证键的唯一性的。
    • 常用实例化方法: 
             new HashMap< Object, Object>();

 

  

Hashtable:

  • 线程安全,效率低。不允许null键和null值

  

LinkedHashMap:

    • 是基于Map接口的哈希表和链接列表实现,有序
    • 由哈希表保证键的唯一性
    • 由链表保证键盘的有序(存储和取出的顺序一致)
    • 常用实例化方法: 
             new LinkedHashMap< Object, Object>();

treeMap:

    • TreeMap:是基于红黑树的Map接口的实现。
    • 构造方法: 
             TreeMap() 使用键的自然顺序构造一个新的、空的树映射。 
             TreeMap(Comparator< ? super K> comparator) 构造一个新的、空的树映射,该映射根据给定比较器进行排序

HashMap

TreeMap

HashTable

LinkedHashMap

 

转载于:https://www.cnblogs.com/hanmengdi/p/9546814.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20155320《网络对抗》Exp4 恶意代码分析

20155320《网络对抗》Exp4 恶意代码分析 【系统运行监控】 使用schtasks指令监控系统运行 首先在C盘目录下建立一个netstatlog.bat文件&#xff08;由于是系统盘&#xff0c;所以从别的盘建一个然后拷过去&#xff09;&#xff0c;用来将记录的联网结果格式化输出到netstatlog.…

tableau 自定义省份_在Tableau中使用自定义图像映射

tableau 自定义省份We have been reading about all the ways to make our vizzes in Tableau with more creativity and appeal. During my weekly practice for creating viz as part of makeovermonday2020 community, I came across geographical data which in way requir…

2055. 蜡烛之间的盘子

2055. 蜡烛之间的盘子 给你一个长桌子&#xff0c;桌子上盘子和蜡烛排成一列。给你一个下标从 0 开始的字符串 s &#xff0c;它只包含字符 ‘’ 和 ‘|’ &#xff0c;其中 ’ 表示一个 盘子 &#xff0c;’|’ 表示一支 蜡烛 。 同时给你一个下标从 0 开始的二维整数数组 q…

Template、ItemsPanel、ItemContainerStyle、ItemTemplate

原文:Template、ItemsPanel、ItemContainerStyle、ItemTemplate先来看一张图(网上下的图&#xff0c;加了几个字) 实在是有够“乱”的&#xff0c;慢慢来理一下&#xff1b; 1、Template是指控件的样式 在WPF中所有继承自contentcontrol类的控件都含有此属性&#xff0c;&#…

熊猫烧香分析报告_熊猫分析进行最佳探索性数据分析

熊猫烧香分析报告目录 (Table of Contents) Introduction 介绍 Overview 总览 Variables 变数 Interactions 互动互动 Correlations 相关性 Missing Values 缺失值 Sample 样品 Summary 摘要 介绍 (Introduction) There are countless ways to perform exploratory data analys…

白裤子变粉裤子怎么办_使用裤子构建构建数据科学的monorepo

白裤子变粉裤子怎么办At HousingAnywhere, one of the first major obstacles we had to face when scaling the Data team was building a centralised repository that contains our ever-growing machine learning applications. Between these projects, many of them shar…

支持向量机SVM算法原理及应用(R)

支持向量机SVM算法原理及应用&#xff08;R&#xff09; 2016年08月17日 16:37:25 阅读数&#xff1a;22292更多 个人分类&#xff1a; 数据挖掘实战应用版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请注明来源。 https://blog.csdn.net/csqazwsxedc/article/detai…

mad离群值_全部关于离群值

mad离群值An outlier is a data point in a data set that is distant from all other observations. A data point that lies outside the overall distribution of the dataset. Or in a layman term, we can say, an outlier is something that behaves differently from th…

青年报告_了解青年的情绪

青年报告Youth-led media is any effort created, planned, implemented, and reflected upon by young people in the form of media, including websites, newspapers, television shows, and publications. Such platforms connect writers, artists, and photographers in …

post提交参数过多时,取消Tomcat对 post长度限制

1.Tomcat 默认的post参数的最大大小为2M&#xff0c; 当超过时将会出错&#xff0c;可以配置maxPostSize参数来改变大小。 从 apache-tomcat-7.0.63 开始&#xff0c;参数 maxPostSize 的含义就变了&#xff1a; 如果将值设置为 0&#xff0c;表示 POST 最大值为 0&#xff0c;…

map(平均平均精度_客户的平均平均精度

map(平均平均精度Disclaimer: this was created for my clients because it’s rather challenging to explain such a complex metric in simple words, so don’t expect to see much of math or equations here. And remember that I try to keep it simple.免责声明 &#…

Sublime Text 2搭建Go开发环境,代码提示+补全+调试

本文在已安装Go环境的前提下继续。 1、安装Sublime Text 2 2、安装Package Control。 运行Sublime&#xff0c;按下 Ctrl&#xff08;在Tab键上边&#xff09;&#xff0c;然后输入以下内容&#xff1a; import urllib2,os,hashlib; h 7183a2d3e96f11eeadd761d777e62404 e330…

zookeeper、hbase常见命令

a) Zookeeper&#xff1a;帮助命令-help i. ls /查看zk下根节点目录 ii. create /zk_test my_data//在测试集群没有创建成功 iii. get /zk_test my_data//获取节点信息 iv. set / zk_test my_data//更改节点相关信息 v. delete /zk_test//删除节点信…

鲜活数据数据可视化指南_数据可视化实用指南

鲜活数据数据可视化指南Exploratory data analysis (EDA) is an essential part of the data science or the machine learning pipeline. In order to create a robust and valuable product using the data, you need to explore the data, understand the relations among v…

Linux lsof命令详解

lsof&#xff08;List Open Files&#xff09; 用于查看你进程开打的文件&#xff0c;打开文件的进程&#xff0c;进程打开的端口(TCP、UDP)&#xff0c;找回/恢复删除的文件。是十分方便的系统监视工具&#xff0c;因为lsof命令需要访问核心内存和各种文件&#xff0c;所以需要…

史密斯卧推:杠铃史密斯下斜卧推、上斜机卧推、平板卧推动作图解

史密斯卧推&#xff1a;杠铃史密斯下斜卧推、上斜机卧推、平板卧推动作图解 史密斯卧推&#xff08;smith press&#xff09;是固定器械上完成的卧推&#xff0c;对于初级健身者来说&#xff0c;自由卧推&#xff08;哑铃卧推、杠铃卧推&#xff09;还不能很好地把握平衡性&…

图像特征 可视化_使用卫星图像可视化建筑区域

图像特征 可视化地理可视化/菲律宾/遥感 (GEOVISUALIZATION / PHILIPPINES / REMOTE-SENSING) Big data is incredible! The way Big Data manages to bring sciences and business domains to new levels is almost sort of magical. It allows us to tap into a variety of a…

375. 猜数字大小 II

375. 猜数字大小 II 我们正在玩一个猜数游戏&#xff0c;游戏规则如下&#xff1a; 我从 1 到 n 之间选择一个数字。你来猜我选了哪个数字。如果你猜到正确的数字&#xff0c;就会 赢得游戏 。如果你猜错了&#xff0c;那么我会告诉你&#xff0c;我选的数字比你的 更大或者更…

海量数据寻找最频繁的数据_在数据中寻找什么

海量数据寻找最频繁的数据Some activities are instinctive. A baby doesn’t need to be taught how to suckle. Most people can use an escalator, operate an elevator, and open a door instinctively. The same isn’t true of playing a guitar, driving a car, or anal…

OSChina 周四乱弹 —— 要成立复仇者联盟了,来报名

2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单&#xff08;2018&#xff09;请戳&#xff08;这里&#xff09; 【今日歌曲】 Devoes &#xff1a;分享吴若希的单曲《越难越爱 (Love Is Not Easy / TVB剧集《使徒行者》片尾曲)》: 《越难越爱 (Love Is No…