java常用集合总结

原创 2013年12月02日 11:33:43

1、线程安全 
线程安全就是说多线程访问同一代码,不会产生不确定的结果。

2、List类和Set类
List类和Set类是Collection集合接口的子接口。
Set子接口:无序,不允许重复。
List子接口:有序,可以有重复元素。

Set和List对比: 
Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。 
List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。 

Set和List具体子类: 
Set 
|————HashSet:以哈希表的形式存放元素,插入删除速度很快。 

List 
|————ArrayList:动态数组 
|————LinkedList:链表、队列、堆栈。

Array和java.util.Vector 
Vector是一种老的动态数组,是线程同步的,效率很低,一般不赞成使用。

3、HashMap和HashTable
a.HashMap去掉了HashTable的contains方法,但是加上了containsValue()和containsKey()方法。
b.HashTable同步的,而HashMap是非同步的,效率上比HashTable要高。
c.HashMap允许空键值,而HashTable不允许。

4、线程安全集合类与非线程安全集合类 
LinkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的;
HashMap是非线程安全的,HashTable是线程安全的;
StringBuilder是非线程安全的,StringBuffer是线程安全的。

5、集合适用场景
对于查找和删除较为频繁,且元素数量较多的应用,Set或Map是更好的选择;
ArrayList适用于通过为位置来读取元素的场景;
LinkedList 适用于要头尾操作或插入指定位置的场景;
Vector 适用于要线程安全的ArrayList的场景;
Stack 适用于线程安全的LIFO场景;
HashSet 适用于对排序没有要求的非重复元素的存放;
TreeSet 适用于要排序的非重复元素的存放;
HashMap 适用于大部分key-value的存取场景;
TreeMap 适用于需排序存放的key-value场景。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java常用类和方法重点总结

2015年12月20日18:25:21 Java常用类和方法重点总结 作者:数据分析玩家 1、简述Java中内存分配的问题 1>凡是new()出来的东西,都是在堆中进行分配的 2>局部变量【...
  • a2011480169
  • a2011480169
  • 2015年12月20日 20:08
  • 2085

Java常用集合分类

1:集合     Collection(单列集合)         List(有序,可重复)             ArrayList                 底层数据结构是数组,查...
  • Long_H_Zhu
  • Long_H_Zhu
  • 2016年04月21日 10:28
  • 581

Java基础--常用API的总结

1.  Math  2.  Object  3.  Scanner  4.  String---正则表达式---Pattern类,Matcher类  5.  Arrays  6.  Stri...
  • u013905744
  • u013905744
  • 2015年03月23日 13:36
  • 365

java常用集合

import java.util.ArrayList; import java.util.Collection; import java.util.LinkedList; import java...
  • u013538542
  • u013538542
  • 2015年04月01日 17:53
  • 413

java常用集合的总结

常用的集合类有一下几种: List结构的集合类:ArrayList类,LinkedList类,Vector类,Stack类 Map结构的集合类:HashMap类,Hashtable类 Set结构的集合...
  • BushQiang
  • BushQiang
  • 2017年11月16日 22:41
  • 63

java集合常用的几个方法

下面通过例子看看: Map map = new HashMap(); map.put("01", "zhangsan"); map.put("02", "lisi"); map.put("03", "...
  • qice675563721
  • qice675563721
  • 2017年05月29日 23:50
  • 126

java常用集合总结(二)

对象的集合 如果程序的对象数量有限,且寿命可知,那么这个程序是相当简单的。 数组 数组与其它容器的区别体现在三个方面:效率,类型识别以及可以持有primitives。数组是Java提供的,能随机存储...
  • xienbo
  • xienbo
  • 2016年03月13日 17:37
  • 89

Java常用集合总结笔记

常用集合Collection、Map以及其子类集合的学习总结
  • Dylancy
  • Dylancy
  • 2017年07月14日 08:52
  • 161

java常用集合总结(一)

1、线程安全 线程安全就是说多线程访问同一代码,不会产生不确定的结果。 2、List类和Set类 List类和Set类是Collection集合接口的子接口。 Set子接口:无序,不允许重复。 L...
  • xienbo
  • xienbo
  • 2016年03月13日 17:39
  • 108

Java常用集合总结

Java常用集合 1.参考博客http://blog.csdn.net/zsm653983/article/details/7562324 http://blog.csdn.net/softwav...
  • lantiancaiyun
  • lantiancaiyun
  • 2014年08月04日 09:51
  • 413
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java常用集合总结
举报原因:
原因补充:

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