java集合分析

转载 2018年04月15日 16:34:20
java里的集合主要分为List set map
list下又有arrayList linkedList vector set下又有hashSet treeSet map下又有hashMap treeMap hashTable
List 和 set集合都是继承collection接口
list:元素有顺序的放入,元素可重复 和数组类型,list可以动态增长,查找元素效率高,插入删除元素效率较低,因为会引起其他元素位置改变
set:元素无顺序的放入,元素不可重复,重复元素会被覆盖掉 检索元素效率较低,删除和插入元素效率高,插入和删除元素不会引起其他元素位置改变
map适合存储键值对数据

ArrayList与LinkedList的区别和适用场景
arrayList:是实现了动态数组的数据结构,因为地址连续,一旦数据存储好了,查询效率会比较高,但插入和删除操作效率低
linkedList:是实现了链表的数据结构,地址是任意的,所以在开辟内存空间的时候不需要等一个连续的地址,插入和删除操作比较快,但查询效率没有arrayList快,效率低
ArrayList与Vector的区别和适用场景
两者都是数组实现的 arrayList是多线程安全的,效率高 vector是多线程不安全的,是使用synchronizedz关键字修饰的,效率低 线程安全和线程不安全:开多线程操作同一个对象时是否会出现bug
HashSet与Treeset的适用场景
treeSet是二叉树(红黑树)实现的,treeSet是自动排好序,不允许存null值
hashSet是哈希表实现的,hashSet中的数据是无序的,可以存储null值,但只能放入一个null值,两者中的值都是不能重复的
hashset是基于hash算法实现的,性能通常优于treeSet,一般我们使用hashSet。但如果我们需要进行排序时就需要使用treeSet
HashMap与TreeMap、HashTable的区别及适用场景
hashMap非线程安全,基于哈希表实现,使用hashMap要求添加的键类明确定义了hashCode()和equals()方法。
treeMap非线程安全,基于红黑树实现,自然顺序或自定义顺序遍历键
hashTable线程安全,hashMap去掉了hashTable的contains方法,添加containsKey()和containsValue()方法,hashTable是同步的,不能存储空键值,而hashMap可以存储空键值。

java集合分析思想(一)

一、集合类简介 数组是很常用的一种的数据结构,我们用它可以满足很多的功能,但是,有时我们会遇到如下这样的问题: 1、我们需要该容器的长度是不确定的。 2、我们需要它能自动排序。 ...
  • sanjiaozhen
  • sanjiaozhen
  • 2015-09-30 00:40:59
  • 638

java 集合 分析比较

  • 2010年01月15日 11:29
  • 8KB
  • 下载

Java集合总体分析

总体介绍Java集合框架是Java提供的工具包,在java.util.*中,这个包中包含了常用的数据结构:集合、数组、链表、栈、队列、映射等。 我们分析下面这张图: 再结合CSDN博客李春春的...
  • ragrok
  • ragrok
  • 2016-12-08 16:29:59
  • 289

java中各种集合解析以及区别

一,java中各种集合的关系图 Collection 接口的接口 对象的集合 ├ List 子接口 按进入先后有序保存 可重复 │├...
  • qq_28483283
  • qq_28483283
  • 2017-06-22 22:32:30
  • 1195

first集,follow集,LL(1)分析表

点击下载源码     import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io....
  • xiangqiao123
  • xiangqiao123
  • 2011-12-19 14:20:02
  • 3275

java集合详解

  • 2012年05月15日 22:42
  • 162KB
  • 下载

【深入理解java集合系列】ArrayList实现原理

1. ArrayList概述:    ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来...
  • xiaolei1021
  • xiaolei1021
  • 2016-08-15 22:57:56
  • 1848

【Java8源码分析】集合框架-ArrayList

一、源码和注解package java.util;public class ArrayList extends AbstractList implements List, Random...
  • linxdcn
  • linxdcn
  • 2017-04-29 22:37:43
  • 598

Java基础之集合题目

1、 /* * 分析以下需求,并用代码实现: (1)生成10个1至100之间的随机整数(不能重复),存入一个List集合(可以先不适用泛型,泛型明天讲) (2)编写方法对List集合进行排序 ...
  • chen_xingyao
  • chen_xingyao
  • 2017-12-30 22:40:27
  • 131

史上最全的Java集合类解析

本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理。Java中的集合类包含的内容很多而且很重要...
  • HHcoco
  • HHcoco
  • 2016-11-10 17:03:05
  • 20958
收藏助手
不良信息举报
您举报文章:java集合分析
举报原因:
原因补充:

(最多只允许输入30个字)