面阿里的时候,面试就让我说一下集合 当时由于条件原因没听清面试官的问题,后来面试后,面试官让问他问题的时候,才说明白是什么

下面就接受一下我了解的集合类

集合类中大致可以分为两个体系

一、collection体系: 单一对象存取,即每个元素存储单元内只存储一个对象实例;

二、map体系:双对象存取即每个元素所占存储单元内存储两个对象实例(key-value)的形式。

下面将一一介绍collection系和map系的结构。

一、collction:

他是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法。实现该接口的类主要有set和list.

list---ArrayList

Vector

LinkedList

set---TreeSet

HashSet

二、map

hashmap

treemap

hashtable

一、集合的使用步骤:

A、创建集合对象

B、创建元素对象

C、把元素添加到集合

D、遍历集合:a、通过集合对象获取迭代器对象

b、通过迭代器Iterator对象的hasNext()方法判断是否有元素

c、通过迭代器对象的next()方法获取元素并移动到下一个位置

二、list和set的比较

List:用户可根据索引访问元素,并搜索列表中的元素。元素有序,可重复

Set:元素无序,且可重复

三、list的三个子类的特点

ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高

Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率慢

Linkedlist:底层数据结构是链表,查询慢,增删快,线程不安全,效率高

四、set的两个子类特点

HashSet:其底层结构是HashMap

TreeSet:其底层结构是TreeMap和NavigableSet,其中NavigableSet是一个接口,TreeMap是其子实现类。

它可以使用元素的自然顺序进行排序,或者根据创建set时的Comparator 即比较器排序。

java对象是 什么的集合_java持有对象-集合类相关推荐

  1. java中线程安全的集合_Java中哪些集合类是线程安全的?

    线程安全类是确保类的内部状态以及从方法返回的值在从多个线程并发调用时是正确的类. Java中线程安全的集合类有Stack.Vector.Properties.Hashtable等. 堆栈(stack) ...

  2. java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

  3. java 弱引用 集合_java 弱引用集合类WeakHashMap

    java 弱引用集合类WeakHashMap Java集合框架中的WeakHashMap类是Map接口的一种特殊实现.它实现了Map接口,继承了AbstractMap抽象类.它实现了对key的弱引用. ...

  4. java组装树状结构数据集合_JAVA构建List集合为树形结构

    package com.zving.tree; import java.util.ArrayList; import java.util.List; /** * 树形结构实体类 * @author c ...

  5. JAVA EE 6 jar包集合_Java EE6将JSF facelets(xhtml)和ManagedBeans打包成JAR

    是的,这绝对是可能的,假设你使用JSF 2.0,Java EE 6的一部分. 对于受管Bean和其他JSF类(如验证器,转换器等),只需使用@ManagedBean,@FacesValidator,@ ...

  6. java中有hash集合_Java(1.8)集合类中的HashMap

    Map接口没有继承任何其他接口,它存储的是Key-Value对,并且Key不能重复. 下面就是Map的所有接口: Map接口的所有方法 在HashMap 内部每个Key-Value对都用一个Node对 ...

  7. java abstractnumlist_如何从List集合中删除对象

    这个问题看似好像挺简单挺幼稚的,然而就这个幼稚的问题还曾经困扰过我一阵呢,其实犯这个错误的根本原因是我们对于基础知识的理解和掌握上还有不足的表现,基本功有些人总是觉得不重要,认为更多的扩大学习的广度才 ...

  8. java if判断是否为空_java 判断对象是否为空

    java 中如何判断一个未知对象是否为空呢? 下面是一个通用的方法,判断字符串是否为空,集合是否为空,数组是否为空: /** * 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度 ...

  9. 集合_java集合框架

    java集合框架图 简化图: Java平台提供了一个全新的集合框架."集合框架"主要由一组用来操作对象的接口组成. 不同接口描述一组不同数据类型.      1.Java 2集合框 ...

最新文章

  1. java线程dump_Java线程Dump分析 - PerfMa
  2. LeetCode Largest Divisible Subset(动态规划)
  3. 内存分析工具MAT的使用
  4. PaaS平台应用的12要素原则
  5. select自定义箭头样式
  6. 输入法候选词排列的两种新方式
  7. PixiJS学习(9)动画序列帧
  8. AVOD、SVOD、TVOD、PVOD:揭秘视频点播商业模式
  9. Matlab资料汇总暨MATLAB中文论坛帖子整理(二)
  10. java启动tomcat9闪退
  11. VUE3中使用粒子特效
  12. python中平方_python里平方
  13. 知乎上100条简短深刻的回答
  14. 江苏咪咕MGV3000_YST代工_S905L3_线刷固件包
  15. 原生代码开发小米官网首页
  16. 【颜纠日记】5个存钱方法摆脱月光族,如何存钱秘籍,轻松存到人生第一个100万。
  17. 西班牙计算机专业排名,西班牙大学及专业排名
  18. 120 个 常用excel模板 推荐
  19. games101:七,加速光线追踪(AABB、BVH、SAH)+ 作业6
  20. 【年底超顺SCI】4区计算机科学类SCI,仅剩10篇版面

热门文章

  1. Python输出py文件模拟代码高亮
  2. Hadoop-2.2.0学习之三YARN简介
  3. 双NameNode的同步机制
  4. 解决服务器连接错误Host ‘XXX’ is not allowed to connect to this MySQL server
  5. 【机器学习算法-python实现】K-means无监督学习实现分类
  6. Device eth0 does not seem to be present, delaying initialization.转载
  7. 机器学习算法基础——决策树和随机深林
  8. 【联邦学习】FATE 集群部署 step2
  9. 【统计学习】假设检验
  10. 【Python】GroupBy:数据聚合与分组运算