第一范文网 - 专业文章范例文档资料分享平台

第7章 集合 - 教学设计

来源:用户分享 时间:2025/5/29 0:34:41 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

博学谷——让IT教学更简单,让IT学习更有效

}

foreach循环虽然书写起来很简洁,但在使用时也存在一定的局限性。当使用foreach循环遍历集合和数组时,只能访问集合中的元素,不能对其中的元素进行修改。

ListIterator接口

ListIterator中提供了hasPrevious()方法和previous()方法,通过这两个方法可以实现反向迭代元素,另外还提供了add()方法用于增加元素,接下来通过一个案例来学习ListIterator迭代器的使用:

import java.util.*; public class Example07 {

}

public static void main(String[] args) { }

ArrayList list = new ArrayList(); list.add(\list.add(\list.add(\System.out.println(list);

ListIterator it = list.listIterator(list.size()); }

Object obj = it.previous(); System.out.print(obj + \

while (it.hasPrevious()) {

Enumeration接口

? Vector集合

Vevtor集合是List接口的一个实现类,用法与ArrayList完全相同,区别在于Vector集合是线程安全的,而ArrayList集合是线程不安全的。在Vector类中提供了一个elements()方法用于返回Enumeration对象,通过Enumeration对象就可以遍历该集合中的元素。

下面的案例演示了如何使用Enumeration对象遍历Vector集合,具体如下:

import java.util.*; public class Example08 {

public static void main(String[] args) { }

Vector v = new Vector(); v.add(\v.add(\v.add(\

Enumeration en = v.elements(); while (en.hasMoreElements()) { }

Object obj = en.nextElement(); System.out.println(obj);

博学谷——让IT教学更简单,让IT学习更有效

} 第三课时 (Set接口简介、HashSet集合、TreeSet 集合、Map接口和HashMap集合) Set接口简介 Set接口继承自Collection接口,它与Collection接口中的方法基本一致,只是比Collection接口更加严格。Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。Set接口主要有两个实现类,分别是HashSet和TreeSet。 HashSet集合 HashSet是Set接口的一个实现类,它所存储的元素是不可重复的,并且 元素都是无序的。HashSet集合存储元素的过程如下图所示。 TreeSet集合 TreeSet是Set接口的另一个实现类,它内部采用平衡二叉树来存储元素,这样的结构可以保证TreeSet集合中没有重复的元素,并且可以对元素进行排序。二叉树中元素的存储结构如下图所示。 元素元素元素元素元素元素元素 上图所示的二叉树中,同一层的元素,左边的元素总是小于右边的元素。 注意:集合中的元素在进行比较时,都会调用compareTo()方法,该方法是Comparable接口中定义的,因此要想对集合中的元素进行排序,就必须实现Comparable接口。 博学谷——让IT教学更简单,让IT学习更有效

Map接口 Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象 Value,键和值对象之间存在一种对应关系,称为映射。从Map集合中访问元素时,只要指定了Key,就能找到对应的Value。Map接口中定义的一些通用方法如下表所示。 功能描述 将指定的值与此映射中的指定键关联(可选操void put(Key k, Value v) 作) 返回指定键所映射的值;如果此映射不包含该Object get(Object key) 键的映射关系,则返回 null boolean containsKey(Object 如果此映射包含指定键的映射关系,则返回 key) true。 boolean containsValue(Object 如果此映射将一个或多个键映射到指定值,则value) 返回 true Set keySet() 返回此映射中包含的键的 Set 视图 Collection values() 返回此映射中包含的值的 Collection 视图 方法声明 HashMap集合 HashMap集合是Map接口的一个实现类,它用于存储键值映射关系,但 必须保证不出现重复的键。如果存储了相同的键,后存储的值会覆盖原有的值。 LinkedHashMap类是HashMap的子类,和LinkedList一样也使用双向链表 来维护内部元素的关系,使Map元素迭代的顺序与存入的顺序一致。 第四课时 (TreeMap集合、Properties集合、泛型、Collections工具类、Arrays工具类) TreeMap集合 TreeMap集合是用来存储键值映射关系的,其中不允许出现重复的键。在TreeMap中是通过二叉树的原理来保证键的唯一性。 下面的案例演示了如何对TreeMap集合中的指定元素进行排序,代码如下: import java.util.*; public class Example21 { public static void main(String[] args) { //穿入自定义比较器 TreeMap tm = new TreeMap(new MyComparator()); tm.put(\tm.put(\tm.put(\Set keySet = tm.keySet(); // 获取键的集合 Iterator it = keySet.iterator(); while (it.hasNext()) { Object key = it.next(); // 获得一个键 // 获得键对应的值 // 获得迭代器对象 // 向集合存入学生的学号和姓名 Object value = tm.get(key); System.out.println(key + \博学谷——让IT教学更简单,让IT学习更有效

}

class MyComparator implements Comparator { // 自定义比较器 }

public int compare(Object obj1, Object obj2) { }

String id1 = (String) obj1; //强转为String类型 String id2 = (String) obj2;

return id2.compareTo(id1); // 将比较之后的值返回 }

}

Properties集合

Map接口中还有一个实现类Hashtable,它和HashMap相比区别在于Hashtable是线程安全的。Hashtable类有一个子类Properties在实际应用中非常重要,Properties主要用来存储字符串类型的键和值。经常使用Properties集合来存取应用的配置项。

通过案例来学习Prorperties集合对配置项进行存取,具体如下:

import java.util.*; public class Example22 {

public static void main(String[] args) { }

Properties p=new Properties(); p.setProperty(\ p.setProperty(\ p.setProperty(\ Enumeration names = p.propertyNames(); while(names.hasMoreElements()){ String key=(String) names.nextElement(); String value=p.getProperty(key); System.out.println(key+\ } }

泛型

我们在程序中无法确定一个集合中的元素到底是什么类型的。那么在取出

元素时,如果进行强制类型转换就很容易出错。在Java中引入了“参数化类型(parameterized type)”这个概念,即泛型。它可以限定方法操作的数据类型,在定义集合类时,可以使用“<参数化类型>”的方式指定该类中方法操作的数据类型,具体格式如下:

ArrayList<参数化类型> list = new ArrayList<参数化类型>();

在使用泛型后每次遍历集合元素时,可以指定元素类型为String,而不是 Object,这样就避免了再程序中进行强制类型转换。

Collections工具类

? Collections工具类简介

Collections类中提供了大量的方法用于对集合中元素进行排序、查找和修

搜索更多关于: 第7章 集合 - 教学设计 的文档
第7章 集合 - 教学设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0yuue9ef6r0flug9baxo_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top