Java学习笔记6-数据结构

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java学习笔记6-数据结构脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Java工具包提供了强大的数据结构,这一节,我们来学习下Java的数据结构。

一、数据结构分类

  • 枚举(Enumeration)
  • 位集合(BITSet)
  • 向量(Vector)
  • 栈(Stack)
  • 字典(Dictionary)
  • 哈希表(Hashtable)
  • 属性(Properties)

二、枚举(Enumeration)

枚举(Enumeration)接口虽然它本身不属于数据结构,但它在其他数据结构的范畴里应用很广。 枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式

例如,枚举定义了一个叫nextElement 的方法,该方法用来得到一个包含多元素的数据结构的下一个元素。

三、位集合(BitSet)

位集合类实现了一组可以单独设置和清除的位或标志。

该类在处理一组布尔值的时候非常有用,你只需要给每个值赋值一"位",然后对位进行适当的设置或清除,就可以对布尔值进行操作了。

四、向量(Vector)

向量(Vector)类和传统数组非常相似,但是Vector的大小能根据需要动态的变化。

和数组一样,Vector对象的元素也能通过索引访问。

使用Vector类最主要的好处就是在创建对象的时候不必给对象指定大小,它的大小会根据需要动态的变化。

五、栈(Stack)

栈(Stack)实现了一个后进先出(LIFO)的数据结构。

你可以把栈理解为对象的垂直分布的栈,当你添加一个新元素时,就将新元素放在其他元素的顶部。

当你从栈中取元素的时候,就从栈顶取一个元素。换句话说,最后进栈的元素最先被取出。

import java.util.*;   public class StackDemo {       static void showpush(Stack<Integer> st, int a) {         st.push(new Integer(a));         System.out.println("push(" + a + ")");         System.out.println("stack: " + st);     }       static void showpop(Stack<Integer> st) {         System.out.print("pop -> ");         Integer a = (Integer) st.pop();         System.out.println(a);         System.out.println("stack: " + st);     }       public static void main(String args[]) {         Stack<Integer> st = new Stack<Integer>();         System.out.println("stack: " + st);         showpush(st, 42);         showpush(st, 66);         showpush(st, 99);         showpop(st);         showpop(st);         showpop(st);         try {             showpop(st);         } catch (EmptyStackException e) {             System.out.println("empty stack");         }     } }

六、字典(Dictionary)

字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构。

当你想要通过特定的键而不是整数索引来访问数据的时候,这时候应该使用Dictionary。

由于Dictionary类是抽象类,所以它只提供了键映射到值的数据结构,而没有提供特定的实现。

七、哈希表(Hashtable)

Hashtable类提供了一种在用户定义键结构的基础上来组织数据的手段

例如,在地址列表的哈希表中,你可以根据邮政编码作为键来存储和排序数据,而不是通过人名。

哈希表键的具体含义完全取决于哈希表的使用情景和它包含的数据。

八、属性(Properties)

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

Properties 类被许多Java类使用。例如,在获取环境变量时它就作为System.getProperties()方法的返回值。

九、ArrayList 和 LinkedList 的区别

ArrayList 是 List 接口的一种实现,它是使用数组来实现的。

LinkedList 是 List 接口的一种实现,它是使用链表来实现的。

ArrayList 遍历和查找元素比较快。LinkedList 遍历和查找元素比较慢。

ArrayList 添加、删除元素比较慢。LinkedList 添加、删除元素比较快。

脚本宝典总结

以上是脚本宝典为你收集整理的Java学习笔记6-数据结构全部内容,希望文章能够帮你解决Java学习笔记6-数据结构所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。