Java数据结构

来源:互联网 发布:体育馆视频监控软件 编辑:程序博客网 时间:2024/06/05 20:13

整理自w3cschool(个人笔记)
1.枚举(Enumeration)

import java.util.Enumeration;public class EnumerationTester {   public static void main(String args[]) {      Enumeration days;      Vector dayNames = new Vector();      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());       }   }}

2.bitset   详见:http://blog.csdn.net/lushuaiyin/article/details/7546144

比如有一堆数字,需要存储,source=[3,5,6,9],用int就需要4*4个字节。java.util.BitSet可以存true/false。如果用java.util.BitSet,则会少很多,其原理是:1,先找出数据中最大值maxvalue=92,声明一个BitSet bs,它的size是maxvalue+1=103,遍历数据source,bs[source[i]]设置成true.最后的值是:(0false;1true),bs [0,0,0,1,0,1,1,0,0,1]                              3,  5,6,    9这样一个本来要int型需要占4字节共32位的数字现在只用了1位!比例32:1  

3.向量(Vector)

a.Vector主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。

4.栈(Stack)

栈是Vector的一个子类,它实现了一个标准的后进先出的栈。堆栈只定义了默认构造函数:Stack()序号  方法描述1   boolean empty()             测试堆栈是否为空。2   Object peek( )              查看堆栈顶部的对象,但不从堆栈中移除它。3   Object pop( )               移除堆栈顶部的对象,并作为此函数的值返回该对象。4   Object push(Object element) 把项压入堆栈顶部。5   int search(Object element)  返回对象在堆栈中的位置,以 1 为基数。

5.字典(Dictionary)

Dictionary类已经过时了。在实际开发中,你可以实现Map接口来获取键/值的存储功能。

6.哈希表(Hashtable)
7.属性(Properties)

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

8.泛型
9.序列化与反序列化 :https://www.w3cschool.cn/java/java-serialization.html

原创粉丝点击