前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java面试的基础中的基础

Java面试的基础中的基础

作者头像
PhoenixZheng
发布2018-08-07 16:45:04
3010
发布2018-08-07 16:45:04
举报

今天我们来说一下Java中常用的集合类型。

面试时经常从Java的基础知识开始,最基础的部分莫过于Java的集合类型。我们知道Java的集合类型有三种,Set,List,Map,那这三种有什么区别呢。

List

List是我们用的最多的类型,它的特点是按次序存储,比如我们从1-10存入10个数,那么用 iteractor()来遍历的话也会是从1-10排列。

Set

Set比较特殊,它也可以认为是一种列表,然而它并不保存重复数据。像下面这段代码

代码语言:javascript
复制
Set set=new HashSet();  
String s1=new String("hello");   
String s2=s1;
String s3=new String("world");  
set.add(s1);  
set.add(s2);  
set.add(s3);

set的长度其实是2,因为s2和s1的值相同,所以不继续存放新值。 有兴趣的同学可以看HashSet的add的实现方法,会发现它实际上是把存放的元素作为key,来存放到一个HashMap中的,如果我们重复放两个相同的元素,因为哈希值相同,对于HashMap来说会认为是同一个key,因此不会新增key来存放数据。

Map

Map 是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键对象和值对象。 Map没有继承于Collection接口,一般的读取得通过key值来获取对应的数据。

总结,

List和Set都是实现了Collection的集合类型,不同处是List可以存放重复数据,而Set不同。 Map没有实现Collection接口,它对数据的读写都是基于key来进行的。

对于数据的存放,List是顺序存放,而Set和Map默认都不关心存放顺序,因此若想按顺序存放,则需要用LinkHashSet或者LinkHashMap。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android每日一讲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • List
  • Set
  • Map
  • 总结,
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档