Java中集合类的区别

发表于:2010-6-22 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java
#
Java

  Array是数组,不在集合框架范畴之内,一旦选定了,它的容量大小就不能改变了,所以通常在编程中不选用数组来存放。

  集合:

  集合对象:用于管理其他若干对象的对象

  数组:长度不可变

  List: 有顺序的,元素可以重复

  遍历:for 迭代

  排序:Comparable Comparator Collections.sort()

  ArrayList:底层用数组实现的List

  特点:查询效率高,增删效率低 轻量级 线程不安全

  LinkedList:底层用双向循环链表 实现的List

  特点:查询效率低,增删效率高

  Vector: 底层用数组实现List接口的另一个类

  特点:重量级,占据更多的系统开销 线程安全

  Set:无顺序的,元素不可重复(值不相同)

  遍历:迭代

  排序:SortedSet

  HashSet:采用哈希算法来实现Set接口

  唯一性保证:重复对象equals方法返回为true

  重复对象hashCode方法返回相同的整数

  不同对象 哈希码 尽量保证不同(提高效率)

  SortedSet:对一个Set排序

  TreeSet:在元素添加的同时,进行排序。也要给出排序规则

  唯一性保证:根据排序规则,compareTo方法返回为0,就可以认定两个对象中有一个是重复对象。

  Map:元素是键值对 key:唯一,不可重复 value:可重复

  遍历:先迭代遍历key的集合,再根据key得到value

  HashMap:轻量级 线程不安全 允许key或者value是null

  Hashtable:重量级 线程安全 不允许key或者value是null

  Properties:Hashtable的子类,key和value都是String

  SortedMap:元素自动对key排序

  TreeMap:

  集合是指一个对象可以容纳了多个对象(不是引用),这个集合对象主要用来管理维护一系列相似的对象。

  集合接口类层次 :

  位于package java.util.*;

  Collection
  ↑
  |ˉˉˉˉˉˉ|
  Set List Map
  ↑ ↑
  | |
  SortedSet SortedMap

  1) Set: 集合类中不允许有重复对象;
  2) SortedSet: 和Set接口同,但元素按升序排列;
  3) List: 元素加载和移出时按照顺序,可以保存重复对象。
  4) Map: key-value对)存储了唯一关键字辨识和对应的值。
  5) SortedMap: 和Map类同,但对象按他们关键字的升序排列。

51/512345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号