Java程序设计-7-集合3.pptVIP

  • 2
  • 0
  • 约6.1千字
  • 约 27页
  • 2018-08-22 发布于江苏
  • 举报
Java程序设计-7-集合3

Java程序设计 集合框架 学习目标 什么是集(Set)、列表(List)和映射(Map) 如何利用迭代(Iterator)访问集合中元素 Vector、Statck、LinkedList 集合框架 Java提供的集合类很多,每个集合类都有自己特定的实现,应用在特定的场合,但幸运的是,应用程序可以通过接口发布自己的实现,使得外部程序可以通过公用接口来访问集合内对象,而不用考虑内部是怎么实现的。 set(集)、sequence(序列)、map(映射)和Queue(队列) HashSet的继承和实现层次 集(set)中的对象通常不按任何特定的方式排列,而且集中不允许有重复的元素。 序列(sequence)或者列表(list)的主要特性是其元素以线性方式排列,与set 不同,列表通常允许重复的元素。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 映射(map)与集和序列有显著区别,因为映射中的每项都是key,value形式出现的,这种方式也被称为字典。一个映射不能包含重复的键;每个键最多只能映射一个值。 Queue(队列)基本上就是一个先入先出(FIFO)的数据结构。 迭代器—IteratorE IteratorT iterator(); 列表—List List是有序的 collection(也称为列表)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。它的特性主要包括: List是有序的,可以通过整数索引(从0开始)访问列表中的元素。 列表通常允许重复的元素。 List 接口提供了特殊的迭代器,称为 ListIterator,除了允许 Iterator 接口提供的正常操作外,该迭代器还允许元素插入和替换,以及双向访问。 某些实现List接口的列表类,对是否允许null在列表中的存在有不同的规定。 在目前的Java版本中,实现了List接口的类有AbstractList、ArrayList、Stack、Vector、AbstractSequentialList、、CopyOnWriteArrayList、 LinkedList。 List的方法 public class ArrayListDemo { ListStudent studentList=new ArrayListStudent(); //接收学生对象,插入到列表中 public synchronized void addStudent(Student student){ studentList.add(student); } public int getCount(){//获得学生总数 return studentList.size(); } public void list(){//顺序列出所有学生名单 for(Student o:studentList){ System.out.println(o); } } public void list(int fromIndex){//从指定位置开始列出所有学生名单 int size=studentList.size(); for(int i=fromIndex;isize;i++){ System.out.println(studentList.get(i)); } } public void listWithListIterator(int fromIndex){ for(ListIterator it=studentList.listIterator(fromIndex);it.hasNext();){ System.out.println(it.next()); } } } Vector Vector 类是可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。和ArrayList、LinkedList等集合不同,Vector是线程安全的 Vector vector = new Vector(); //默认初始容量为10,默认标准增量为10 Vector vector = new Vector(100); //

文档评论(0)

1亿VIP精品文档

相关文档