Java程序设计 您所在的位置:网站首页 java返回泛型list Java程序设计

Java程序设计

2023-05-08 21:09| 来源: 网络整理| 查看: 265

Java程序设计 第五章 泛型和集合框架(2)

Java集合框架 JDK中专门设计的一组类,为方便实现各种数据存储,可用于专门存储其它对象的类 JDK1.5以后保证类型安全 集合框架类型安全

JDK1.5以后类型安全

ArrayList apples=new ArrayList(); apples.add(new Apple()); apples.add(new Orange());

编译器允许插入不同类型的对象

ArrayList apples=new ArrayList(); apples.add(new Apple()); apples.add(new Orange());//不允许添加不同类型的对象

利用泛型得到类型安全的容器

类型不安全的容器使用: AppleAppleAndOrangeWithoutGenerics.java

类型安全的容器使用:AppleAndOrangeWithSafeType.java

类型安全的容器使用--类型自动转换:AppleListDemo.java

Collection接口 定义在java.util包中,使用前需先导入 Collection接口为集合的根接口,表示一组对象,JDK不提供此类接口的直接实现,需要通过具体的子类(List\Set\Queue)实现 List存放有序且允许重复的元素 Set存放无序且不允许重复的元素 Queue只允许从容器的一端插入对象,从另一端移除对象 Collection接口定义 方法类别 方法名 方法介绍 容器中添加、删除操作方法 boolean add(Object o) 将对象添加到容器 boolean addAll(Collection c) 将容器c中的元素添加到容器中 boolean remove(Object o) 如果容器中有与o相匹配的元素,则删除o 容器中元素查询操作方法 void clear() 清除容器中所有元素 int size() 返回当前容器中元素的数量 boolean isEmpty() 查找此容器中是否包含元素 boolean contains(Object o) 查找此容器中是否包含指定元素o boolean contains(Collection c) 判断此容器内是否包含指定容器c中的元素 Iterator iterator() 返回一个该容器上的迭代器,用于访问该容器中的各元素 boolean containsAll(Collection c) 查找容器中是否包含容器c中的所有元素 创建容器对象时,最好用接口类型声明,如 Collection c=new ArrayList(); Collection接口使用示例

往容器中添加一组元素: AddingGroups.java

往容器中添加一组类的对象: AddListInference.java

打印容器中的元素: PrintContainer.java

迭代器 迭代器Iterator 遍历Collection容器中的元素 定义在Collection接口上的各子类容器都有一个与容器类型相对应的迭代器 可通过迭代器遍历访问容器中的每个元素对象 方法类别 方法名 方法介绍 迭代器Iterator boolean hasNext() 判断游标右侧是否还有元素 Object next() 返回游标右侧的元素,并将游标移动到下一个元素 void remove() 删除游标左侧的元素

迭代器使用示例: IteratorDemo.java

List实现类 List用于存放有序可重复的元素,有ArrayList, LinkedList, Vector ArrayList 支持可随需要动态增长的数组 随机访问元素速度快,但插入和删除元素慢 本质是一个长度可变的数组 LinkedList 链接列表数组结构,通过连接指针关联前后两个元素 插入和删除元素速度快,顺序访问速度快,随机访问速度慢 适合实现栈(stack)和队列(queue) Vector 实现可增长数组 大多数操作与ArrayList同,区别在于线程同步 List方法定义 方法名 方法介绍 E set(int index, E element) 用给定对象替换指定位置index处的元素 E get(int index) 返回给定位置index上的元素 E remove(int index) 删除指定位置的元素,后续元素依次位移 void add(int index, E element) 插入给定元素到指定位置index,后续元素依次后移 boolean addAll(int index, Collection c) 在指定位置插入一组元素,其后元素依次后移 int index(Object o) 返回指定元素的最先位置,如果指定元素不存在,则返回-1 int lastIndexOf(Object o) 从后向前查找指定元素的最先位置,若指定元素不存在,则返回-1 List subList(int fromIndex, int toIndex) 返回从fromIndex到toIndex之间的子列表 ListIterator listIterator() 是迭代器的一个实例,可应用于所有List的实现类

ListDemo1.java

ListDemo2.java

ListDemo3.java

VectorDemo.java

Collections类 Collections是一个工具类,提供对集合的操作 提供静态方法,实现了基于List的常用算法,主要用于排序 方法名 方法介绍 void sort(List) 对List内的元素排序 void shuffle(List) 对List内的元素随机排序 void reverse(List) 将List内的元素逆序排序 void fill(List, Object) 用特定的对象Object重写List容器,将对象引用复制到容器的每个位置上,且只对List有效 void copy(List dest, List src) 将src的内容复制到dest中 int binarySearch(List, Object) 利用二分法查找并返回Object对象在List中的位置

ListDemo4.java



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有