1.array和ArrayList 的区别?
1.1:ArrayList是Array的复杂版本
1.2:数组不能扩容集合可以扩容
1.3:存储的数据类型:Array只能存储相同数据类型的数据,而ArrayList可以存储不同数据类型的数据

2.ArrayList与LinkList的区别?
相同点:
2.1:都可以重复添加元素
2.2:都是有顺序的集合
不同点:
2.3:ArrayList查询快,增删改查慢
2.4:LinkList查询慢,增删改查快(一般可以用在session版本的购物车)

3.Collection接口的remove()方法和Iterator(迭代器)接口的remove()方法区别?
性能方面:
3.1:iterator的remove方法效率高
容错方面:
3.2:iterator的遍历时不会报错
3.3:Collection接口的remove()方法有参数,Iterator(迭代器)接口的remove()方法无参数,但要在next()方法下

4.怎样将一个数组转成List,有什么方法
arrays.asList();//数组转集合方法
list.toArray();//集合转数组方法

5.HashSet、TreeSet、LinkedHashSet区别
5.1:需要速度快的集合,使用HashSet
5.2:需要集合有排序功能,使用TreeSet
5.3:需要按照插入的顺序存储集合,使用LinkedHashSet

6.HashMap、TreeMap、linkedHashMap区别?
6.1:在Map中插入、删除和定位元素,HashMap是最好的选择
6.2:需要集合有排序功能,使用TreeMap更好
6.3:需要按照插入的顺序存储集合,使用LinkedHashMap

7.HashMap和HashSet区别
HashMap:
实现了Map接口
存储键值对
调用put()向map中添加元素
HashMap使用key计算hashcode
HashMap相对于HashSet较快,因为它是使用唯一的键获取对象

HashSet:
实现了Set接口
存储对象
调用add()向set中添加元素
HashSet使用成员对象计算hashcode
HashSet较HashMap来说比较慢

8.HashMap的实现原理
通过put和get存储和获取对象,存储对象时,我们将K/V传给put方法时,它调用hashcode计算hash从而得到bucket位置,进一步存储,HashMap会根据当前bucket的占用情况自动调整容量。获取对象时,我们将K传递给get,他调用hashcode计算hash从而得到bucket位置,并进一步调用equals()方法确认键值对。

9.List、Set、Map之间的区别
9.1:list与set都继承与conllection接口
9.2:list有顺序,可以插入重复的元素
9.2:set无顺序,不可以插入重复元素
9.3:map键值存储,键唯一,值可以重复

Java集合对比的更多相关文章

  1. java集合对比汇总

    List.Set和Map: List是有序的集合,Set是无序的集合.Map是无序的键值对. HashMap详解: HashMap有两个参数影响其性能:初始容量和加载因子.默认初始容量是16,加载因子 ...

  2. Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 [ 转载 ]

    Java 集合 ArrayList和LinkedList的几种循环遍历方式及性能对比分析 @author Trinea 原文链接:http://www.trinea.cn/android/arrayl ...

  3. Java集合(六)--ArrayList、LinkedList和Vector对比

    在前两篇博客,学习了ArrayList和LinkedList的源码,地址在这: Java集合(五)--LinkedList源码解读 Java集合(四)--基于JDK1.8的ArrayList源码解读 ...

  4. Java集合学习(9):集合对比

    一.HashMap与HashTable的区别 HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题.Hash ...

  5. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  6. Java 集合系列08之 List总结(LinkedList, ArrayList等使用场景和性能分析)

    概要 前面,我们学完了List的全部内容(ArrayList, LinkedList, Vector, Stack). Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 Ja ...

  7. Java集合框架使用总结

    Java集合框架使用总结 前言:本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看JavaAPI文档. 一.概述数据结 ...

  8. [转] java集合详解

    结合框架体系应该最重要的是如何灵活利用三种接口,set,map,list,他们如何遍历,各有什么特征,怎么样去处理,这是关键,在这个基础上再去掌握在什么场合用什么类型的接口.比如说list和set,s ...

  9. Java集合框架面试题

    www.cnblogs.com/zhxxcq/archive/2012/03/11/2389611.html 这里的两个图很形象,由于放进图片链接,图片显示不了,所以只能给出该链接. Java集合框架 ...

随机推荐

  1. CLR 调试体系结构

    公共语言运行时 (CLR) 调试 API 专门用作操作系统内核的一部分. 在非托管代码中,当程序生成异常时,内核将暂停执行进程,并使用 Win32 调试 API 将异常信息传递给调试器. CLR 调试 ...

  2. pip包管理工具 基本使用

    # 简介 pip是一款包管理工具, 和apt, yum, brew功能类似 # 安装 wget --no-check-certificate https://bootstrap.pypa.io/get ...

  3. Stringbuilde方法的用法以及其作用

    Stringbuilde的方法有以下几种(常用的):(java中的语法) 在程序开发过程中,我们常常碰到字符串连接的情况,方便和直接的方式是通过"+"符号来实现,但是这种方式达到目 ...

  4. element-ui里面的table插入多张图片

    <el-form-item label="身份证正反面" label-width="120px"> <section v-if="t ...

  5. es6学习4:async和await

    async async函数返回一个 Promise 对象,可以使用then方法添加回调函数.当函数执行的时候,一旦遇到await就会先返回,等到异步操作完成,再接着执行函数体内后面的语句. funct ...

  6. 记录python循环引用带来的MemoryError错误解决

    在以前的python中,没有遇到过这样的错误,上来之后还是很蒙蔽的,问了几个业内的人,他们 都给我说让我改服务器里面配置的东西, 因为是要给大家用的,服务器要保证长久运行,不能临时去修改这个,导致在大 ...

  7. Kafka(四) —— KafkaProducer源码阅读

    一.doSend()方法 Kafka中的每一条消息都对应一个ProducerRecord对象. public class ProducerRecord<K, V> { private fi ...

  8. uniapp - 关于调试跨域

    [] 1.右键Chrome图标 2.选中属性(R) 3.在目标(T) chrome.exe后添加 --disable-web-security --user-data-dir --allow-runn ...

  9. [转]Java 之 Serializable 序列化和反序列化的概念,作用的通俗易懂的解释

    原文地址:https://blog.csdn.net/qq_27093465/article/details/78544505 遇到这个 Java Serializable 序列化这个接口,我们可能会 ...

  10. Redis常见问题及解决方案

    在Redis的运维使用过程中你遇到过那些问题,又是如何解决的呢?本文收集了一些Redis的常见问题以及解决方案,与大家一同探讨. 码字不易,欢迎大家转载,烦请注明出处:谢谢配合 你的Redis有big ...