理解总结篇—List、Set、Map

List是存储对象的容器,可以存储任意类型的对象且长度可变,List的存储对象是有顺序的,可重复的。

<1> List的接口框架

    ArrayList实现类通过数组实现,在向集合中增加或删除时,需要对集合进行增容和拷贝,所以增删慢;而数组可以直接通过索引进行查找,所以查询快;一般查询多增删少的,优先选择ArrayList集合。

    LinkedList实现类通过链表实现,在向集合中增加或删除时,无需扩容,所以增删快;但是不能通过索引进行定位查找,需要检索全部,所以查慢;一般增删多查询少的,优先选择LinkedList集合。

    Vector实现类也是通过数组实现,是线程安全的,所以一般效率较ArrayList低。

<2> List接口的方法

    增加    add(Object object); 将指定对象存储到List容器中。addAll(List list); 将指定集合中的元素存储到List容器中。

    删除    remove(Object object); 将指定对象从容器中移除。removeAll(List list); 移除容器中与指定集合中的元素相同的元素。clear(); 清空容器中的所有元素。

    修改    set(Integer index,Object object); 将容器中指定位置的元素修改成指定元素。

    判断    isEmpty(); 判断容器是否为空。contains(Object object); 判断容器中是否包含指定对象。containsAll(List list); 判断容器中是否包含指定集合中的所有元素。

    获取    size(); 获取容器元素的数量。get(Integer index); 获取指定位置的元素。indexOf(Object object); 获取指定对象的位置索引,没有返回-1。lastIndexOf(Object object); 获取指定对象在容器中最后一次存储位置的索引。

Set也是存储对象的容器,可以存储任意类型的对象且长度可变。

<1> Set的接口框架

    HashSet实现类按照哈希算法来存取对象的,是无序的,不可重复,但是null和"null"同时存在,会显示[null,null],是Set接口的最优实现,其底层实现依赖于HashMap的键不能重复特性,

    TreeSet实现类使用红黑树来存储元素,实现了sortedSet接口,是有序存储和访问,不能写入null。

    LinkedHashSet实现类也是按照哈希算法存取对象的,是有序的,不可重复,但是null和"null"同时存在,会显示[null,null],其底层依赖于LinkedHashMap。

<2> Set接口的方法

    并        addAll(Set set); 将指定集合中的元素并入容器中,并去重。

    交        retainAll(Set set); 将指定集合中元素与容器中元素取交集。

    删除    removeAll(Set set); 移除容器中与制定集合中的元素相同的元素。remove(Object object); 将指定对象从容器中移除。

    判断    isEmpty(); 判断容器是否为空。contains(Object object); 判断容器是否包含指定对象。containsAll(Set set); 判断容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。

    获取    iterator(); 遍历容器中的元素。

Map也是存储对象的容器,以键-值的形式存储对象,键对象不可重复可为null,值对象可重复可为null。

<1> Map的接口框架

    HashMap实现类按照哈希算法存取键对象,无序的且不可重复

    TreeMap实现类使用红黑树存储键对象,有序的

<2> Map接口的方法

    获取    get(Object key); 根据指定的key对象获取容器中键对应的值。entrySet(); 将容器中的所有键值对以key=value的形式保存在Set集合中。keySet(); 将容器中的所有键对象保存在Set集合中。 iterator(); 遍历容器中的元素

    添加    put(Object key,Object value); 将指定的键值对添加到容器。

    删除    remove(Object key); 移除容器中与指定key对象相同的键值对。

    判断    isEmpty(); 判断容器是否为空。contains(Object object); 判断容器是否包含指定对象。containsAll(Set set); 判断容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。

    

         

    

    

    

转载于:https://www.cnblogs.com/zzb-yp/p/10384387.html

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

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

相关文章

SpringBoot+Redis使用jedis实现了对Redis基本类型操作超全工具类

这编文章主要介绍了springboot整合redis&#xff0c;使用jedis实现了对Redis基本类型操作&#xff0c;一些redis的常用命令总结到了一个公共的工具类中,其中使用了fastjson作为了序列化工具。 注&#xff1a;使用了 jdk 1.8 新特性 &#xff0c;jdk版本需要>1.8 一.添加mave…

更改span标签样式_CSS 内嵌样式

前面一节我们讲了行内样式&#xff0c;但是行内样式的缺点就是样式不能重用。例如当有好多个 标签&#xff0c;我们希望所有的 标签的样式都一致&#xff0c;那么需要在每个标签中都写一遍&#xff0c;这么会很麻烦&#xff0c;也会增加很多代码。那么为了解决这个问题&#…

js 函数节流

//es6语法export function debounce(func, delay) {let timer//返回一个函数&#xff0c;并拿到参数return function (...args) {if (timer) {clearTimeout(timer)}timer setTimeout(() > {func.apply(this, args)}, delay)} } //简单实现var debounce function(idle, act…

mysql 6安装当前密码_MySQL8.0 安装踩坑指南

就在昨天上午&#xff0c;刚为云服务器安装好Apache2.4.33和PHP7.2.4环境&#xff0c;准备再来一个最新的MySQL5.7.22。寻找5.7版本的rpm包时下到mysql80xxx.rpm&#xff0c;看人家的教程是mysql57&#xff0c;难道80是MySQL出出…出了8版&#xff0c;一搜新闻2个小时前MySQL发…

如何用Java编写最快的表达式评估器之一

当然&#xff0c;标题有点吸引人&#xff0c;但确实如此&#xff08;您当然不相信自己没有伪造自己的基准&#xff0c;但这是另一回事了&#xff09;。 因此&#xff0c;上周我正在寻找一个小型且可用的库来评估数学表达式。 我几乎直接偶然发现了这个stackoverflow帖子 。 推…

Elasticsearch环境搭建和介绍(Windows)

一、Elasticsearch介绍和安装 1.1 介绍 Elastic Elastic官网&#xff1a;https://www.elastic.co/cn/ Elastic有一条完整的产品线&#xff1a;Elasticsearch、Kibana、Logstash等&#xff0c;前面说的三个就是大家常说的ELK技术栈。 Elasticsearch Elasticsearch官网&#xff1…

python 银行业务系统程序编程写_python多线程实现代码(模拟银行服务操作流程)

1.模拟银行服务完成程序代码目前&#xff0c;在以银行营业大厅为代表的窗口行业中大量使用排队(叫号)系统&#xff0c;该系统完全模拟了人群排队全过程&#xff0c;通过取票进队、排队等待、叫号服务等功能&#xff0c;代替了人们站队的辛苦。排队叫号软件的具体操作流程为&…

vue 新版本 webpack 代理 跨域设置

旧版本中&#xff1a;dev-server.js 这段去掉 var apiRoutes express.Router() //getList apiRoutes.get(/getDiscList, function (req, res) {var url https://c.y.qq.com/splcloud/fcgi-bin/fcg_get_diss_by_tag.fcgaxios.get(url, {headers: {referer: https://c.y.qq.com…

人月神话(2)

我不知道为什么作者要拿外科医生举例子&#xff0c;在我眼里足球队更合适&#xff0c;或者说更贴近生活&#xff0c;让人们更容易理解。人的专业水平&#xff0c;在刚开始其实没什么可比性&#xff0c;试问&#xff1a;一个有小学学历的人和一个有初中学历的人在大公司招聘时有…

mysql查询出过去一个月_Mysql查询今天、昨天、7天、近30天、本月、上一月 数据...

今天select * from 表名 where to_days(时间字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) < 17天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(时间字段名)近30天SELECT * FROM 表名 where…

Jar Hell变得轻松–用jHades揭秘classpath

Java开发人员将不得不面对的最困难的问题是类路径错误&#xff1a; ClassNotFoundException &#xff0c; NoClassDefFoundError &#xff0c;Jar Hell&#xff0c; Xerces Hell和company。 在本文中&#xff0c;我们将探究这些问题的根本原因&#xff0c;并了解最小的工具&am…

图像处理中常见的时域与频域区别与关系

本文纯为转载只做个人学习记录用&#xff0c;请自动点击链接到作者原文&#xff1a;https://blog.csdn.net/samkieth/article/details/49561539 一、什么是时域 时域是描述数学函数或物理信号对时间的关系。例如一个信号的时域波形可以表达信号随着时间的变化。 二、什么是频域…

程序控制发送文件到邮箱_Kindle电子邮箱推送

Kindle 推送支持的格式目前 Kindle 推送仅支持以下几种格式。需要注意的是&#xff0c;AZW 和 AZW3 是两种不同的格式&#xff0c;虽然这两种格式 Kindle 设备都支持阅读&#xff0c;但是亚马逊的个人文档服务支持推送 AZW 但是不支持 AZW3。Kindle 格式 (.mobi 或 .azw) * 推荐…

[USACO06JAN] 牛的舞会 The Cow Prom

题目描述 The N (2 < N < 10,000) cows are so excited: its prom night! They are dressed in their finest gowns, complete with corsages and new shoes. They know that tonight they will each try to perform the Round Dance. Only cows can perform the Round D…

前端js 实现文件下载

https://www.zhangxinxu.com/wordpress/2017/07/js-text-string-download-as-html-json-file/ 侵删 1.H5 download属性 function downFile(content, filename) {// 创建隐藏的可下载链接var eleLink document.createElement(a);eleLink.download filename;eleLink.style.disp…

mysql的英文字母_MySQL中查询的有关英文字母大小写问题的分析

mysql数据库在做查询时候&#xff0c;有时候是英文字母大小写敏感的&#xff0c;有时候又不是的&#xff0c;主要是由mysql的字符校验规则的设置决定的&#xff0c;通常默认是不支持的大小写字母敏感的。1. 什么是字符集和校验规则&#xff1f;字符集是一套符号和编码。校对规则…

JDK8 lambda的会话指南–术语表

上次出现…我写了一篇与JDK8为我们提供的新方法有关的文章。 最令我兴奋的功能是lambda。 我必须承认&#xff0c;在即将成为浪子的第一年&#xff08;在此期间&#xff0c;我使用C&#xff03;开发了该产品&#xff09;&#xff0c;我喜欢LINQ和它可以做的漂亮&#xff0c;优雅…

写接口给别人调用 推送数据到我们_我们写了一个超好用的抖音矩阵数据管理工具...

我最近跑了十来个抖音号&#xff0c;遇到一些问题&#xff0c;然后通过我们NB的程序员解决了。如果你也在做抖音矩阵&#xff0c;那这些问题你肯定也会遇到&#xff0c;所以我把解决问题的方法工具化了&#xff0c;给大家用。我遇到的最大的问题&#xff0c;就是账号数据的同步…

php crypt mysql password_使用PHP 5.5的password_hash和password_verify函数

使用PHP 5.5的password_hash和password_verify函数假设我想为用户存储密码&#xff0c;这是使用PHP 5.5的password_hash()功能(或者这个版本的PHP 5.3.7&#xff1a;https&#xff1a;//github.com/ircmaxell/password_compat)的正确方法吗&#xff1f;$options array("c…

Mysql order by 导致 using filesorting

https://www.cnblogs.com/drcoding/p/4942277.html转载于:https://www.cnblogs.com/eason-d/p/9700526.html