Java数据结构与结合框架

目录

Java数据结构

枚举(Enumeration)

位集合(BitSet)

向量(Vector)

栈(Stack)

字典(Dictionary)

哈希表(Hashtable)

属性(Properties)

Java集合框架

设计目标

框架介绍

接口

实现类


持续更新中.....


Java数据结构

枚举(Enumeration)

定义了一种从数据结构中取回连续元素的方式,可以枚举(一次获得一个)对象集合中的元素,用在Vector和Properties。

public class EnumerationTester {
   public static void main(String args[]) {
      Enumeration<String> days;
      Vector<String> dayNames = new Vector<String>();
      dayNames.add("Sunday");
      dayNames.add("Monday");
      dayNames.add("Tuesday");
      dayNames.add("Wednesday");
      dayNames.add("Thursday");
      dayNames.add("Friday");
      dayNames.add("Saturday");
      days = dayNames.elements();
      while (days.hasMoreElements()){
         System.out.println(days.nextElement()); 
      }
   }
}

result:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

位集合(BitSet)

实现了一组可以单独设置和清除的位或标志,比如:处理一组布尔值。

向量(Vector)

与数组(ArrayList)类似,元素可通过索引访问,但Vector大小可以动态调整,故创建之初,无需指定大小。

栈(Stack)

后进先出(LIFO)的数据结构,类似于函数嵌套。进栈push,出栈pop,search看堆栈位置,peek出栈不移除,empty判空栈。

字典(Dictionary)

键映射到值的数据结构,已过时,可通过Map实现。

哈希表(Hashtable)

在用户定义键结构的基础上来组织数据。Java 2 重构的Hashtable实现了Map接口,并集成到了集合框架中。它和HashMap类很相似,但是它支持同步。

属性(Properties)

持久的属性集,继承于 Hashtable.Properties类,属性列表中每个键及其对应值都是一个字符串。

Java集合框架

设计目标

  • 高性能:基本集合(动态数组,链表,树,哈希表)的实现也必须是高效
  • 允许不同类型的集合,以类似的方式工作,具有高度的互操作性
  • 扩展和适应性必须简单

框架介绍

位于java.util包

两种类型的容器:

  • 集合(Collection)
  • (Map)

Collection包含:List、Set 、Queue三种主类型,再展开就是: ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等

集合框架是一个用来代表和操纵集合的统一架构,包含如下3点:

  • 接口:集合的抽象数据类型,例如:Collection、List、Set、Map 等。
  • 实现(类):集合接口的具体实现,例如:ArrayList、LinkedList、HashSet、HashMap等。
  • 算法:实现集合接口的对象里的方法执行的一些有用的集成计算,例如:search、sort等。

接口

Collection 接口

最基本的集合接口,存储一组不唯一,无序的对象。

List 接口

有序的Collection,能够精确的控制每个元素插入的位置,能够通过索引(类似于数组下标)来访问List中的元素。存储一组不唯一,有序(插入顺序)的对象。

Set 接口

与 Collection 相似的接口,存储一组唯一,无序的对象。

SortedSet 接口

继承于Set,存储一组唯一,有序的对象。

Map 接口

存储一组键值对象。

SortedMap 接口

继承于 Map,使 Key 保持在升序排列。

实现类

AbstractCollection、AbstractList、AbstractSequentialList

LinkedList、ArrayList

AbstractSet、HashSet、LinkedHashSet、TreeSet

AbstractMap、HashMap、TreeMap、WeakHashMap、LinkedHashMap、IdentityHashMap

Vector、Stack、Dictionary、Hashtable、Properties、BitSet

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值