关于java集合类

java在数组声明时不用指定数组元素的个数,c或c++不同。
java的集合框架
Collection接口在集合框架中处于根的地位(java集合框架没有提供对Collection的直接实现,只有对Collection的子接口实现)。
Collection的两个子接口:Set和List
set:一些元素组成的集合,不允许重复元素,使用自己内部规则安排元素。
list:允许重复元素,可以精确控制数据结构的顺序和位置。
map:描述一组键-值对象的组合,不允许重复,拥有自己内部排列规则。
SortedSet和SortedMap是对Set和Map的进一步扩充,但必须实现分类,
所以,要注意的是,new Integer返回的永远是不同的对象,但是当整数范围在-128<i<=127时,Integer.valueOf返回的是同一个对象。
HashSet中的元素是以哈希表的方式存放,TreeSet元素存放在红黑树的平衡二叉树中。
HashSet查找元素要快的多,但HashSet不提供排序保证,如果需要使用SortedSet的操作,或者按顺序迭代很重要,就应该使用TreeSet否则使用HashSet.
此外HashSet与TreeSet是非同步的,当多个线程访问其中之一时,应该做同步处理。
LinkedHashSet继承了HashSet提供跟踪添加给HashSet元素的顺序的方法。
ArrayList、LinkedListd都不是同步的,涉及到多线程时应自行设计同步。
ArrayList可以快速随机访问元素,而LinkedList适合元素的插入和删除。
Map:同SET。
Hashtable 和Map的区别:
Map提供Collection试图,作为Enumeration对象的替代直接支持迭代过程。
Map允许在键、值或键-值上进行迭代;Hashtable不提供第三个选项。
Map修补了Hashtable接口上的某些小缺陷,Map用containsValue()方法代替了Hashtable的contains()方法,并增加了一个containsKey()的方法,从而改善了命名的混乱。
Map是非同步的,而Hashtable是同步的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值