




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用 Java 集合框架Sang Shin, , Sun Microsystems, 本动手实验室将介绍如何使用 Java 集合框架(Java Collection Framework)开发 Java 应用程序。预计时间:75 分钟软件需求开始之前,需要在您的计算机中安装以下软件。 Java Standard Development Kit (JDK)版本 5.0(下载)。 o 如果已经安装了 JDK 5.0,那么可以跳过此步骤。 o 安装文件的名称如下所示(针对 JDK 5.0 更新版本 x)。 jdk-1_5_0_xx-windows-i586-p.exe(Windows) jdk-1_5_0_xx-linux-i586.bin(Linux) jdk-1_5_0_xx-solaris-i586.sh(Solaris x86) NetBeans IDE 5.5(下载) o 在安装 NetBeans IDE 5.5 时,安装程序会询问使用哪个版本的 JDK。 1016_javacollections.zip(下载) o 其中含有本文档和实验室内容o 下载此压缩文件,并将它解压到任意目录中 变更记录 2007 年 2 月 9 日:创建 2007 年 4 月 12 日:课外练习由使用 TreeSet 变更为 HashSet实验室练习 练习 1:构建和运行使用 Set 集合对象的应用程序(30 分钟) 练习 2:构建和运行使用 List 集合对象的应用程序(30 分钟) 练习 3:构建和运行使用 Map 集合对象的应用程序(30 分钟) 练习 4:Iterator(10 分钟) 练习 5:算法 课外练习(针对 Sang Shin“Java EE 编程在线课程”的学习者) 练习 1:构建和运行 Set 集合对象 Set 接口扩展了 Collection 接口,且根据定义它也禁止在集合中出现重复元素。它采用所有原始方法,并且未引入任何新方法。具体的 Set 实现类依赖于该对象的 equals()方法,其作用是检验等同性。集合框架为 Set 接口提供了两种通用实现:HashSet 和 TreeSet。您偶尔也会用 HashSet 来存储不重复的集合。出于提高效率起见,添加到 HashSet 中的对象需要用一种能够合理分配哈希码的方式来实现 hashCode()方法。而大多数的系统类覆盖了 Object 中缺省的 hashCode()实现,因而当您自己创建要添加到 HashSet 的类时,请记住要覆盖 hashCode()。当需要以一种排序的方式从集合中提取元素的时候,TreeSet 实现很有用。为了正确运行,添加到 TreeSet 中的元素必须是可排序的。集合框架为 Comparable 元素添加了支持,稍后将详细介绍。当前,假定树知道如何保证 java.lang 封装类的元素排好序。通常,将元素添加到 HashSet ,然后将该集合转换成一个 TreeSet 进行排序遍历,这样更快一些。欲优化 HashSet 的空间利用,可以调整初始容量和加载因子。TreeSet 不含调优选项,因为树总是平衡的,这确保了用于插入、删除和查询的 log(n)性能。 1. 构建和运行使用 HashSet 的应用程序 2. 通过 HashSet 查找重复元素 3. 通过 HasetSet 2 查找重复元素 4. 构建和运行使用 TreeSet 的应用程序 5. 构建和运行使用 LinkedHashSet 的应用程序 6. Set 和多态性(1.1)构建和运行使用 HashSet 的应用程序在本步骤中,我们将构建一个使用 HashSet 的应用程序。您将实践 HashSet 类中的各个方法。以下内容引用自在线 HashSet JavaDoc。 此类依靠散列表(实际上是 HashMap 实例)的支持来实现 Set 接口。它不保证 set 的迭代顺序;通常,它也不保证该顺序固定不变。此类允许 null 元素。此类为基本操作(add、remove、contains 和 size)提供固定的时间性能,假定散列函数使元素合理地分散于多个散列桶中。对这个集合进行迭代,所需的时间需同 HashSet 实例的总大小(元素的数量)加上支持它的 HashMap 实例的容量(桶的数量)成比例。因而,当迭代性能很重要时,一定不要将初始容量设置得过高(或将加载因子设置得过低)。0. 如果尚未启动 NetBeans IDE,请启动它。1. 创建一个新的 NetBeans 项目。 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格中的 项目名称 字段中输入 Set-HashSet-add 作为项目名。 在 创建主类 字段中,选择 IDE 默认的 sethashsetadd.Main。 单击 完成 按钮。 图 1.10:创建一个新项目 注意到出现了 Set-HashSet-add 项目,而 IDE 生成的 Main.java 则显示于 NetBeans IDE 的源编辑窗口中。 2. 根据代码 1.10 修改生成 Main.java 的 IDE。仔细阅读以下代码,特别要注意粗体注释。package sethashsetadd;import java.util.HashSet;public class Main public static void main(String args) / Create HashSet object HashSet hs = new HashSet(5, 0.5f); System.out.println(hs.add(one); System.out.println(hs.add(two); System.out.println(hs.add(three); System.out.println(hs.add(four); System.out.println(hs.add(five); / Print out the HashSet object System.out.println(hs); / Add a duplicate item to the HashSet Boolean b = hs.add(one); System.out.println(Duplicate item allowed = + b); System.out.println(hs); 代码 1.10:经过修改的 Main.java 文件3. 生成和运行项目 右键单击 Set-HashSet-add 项目并选择 运行。右键单击 Set-HashSet-add 项目并选择 运行。 在 输出 窗口中查看结果。(如图 1.11 所示) truetruetruetruetrueone, two, five, three, fourDuplicate item allowed = falseone, two, five, three, four图 1.11:运行 Set-HashSet-add 应用程序的结果故障排除 和 解决方案:如果您在编译过程中看到以下警告消息,这是预料之中的。这条警告消息是由 javac 编译器生成的,是由于在使用泛型时未指定集合类型。当前,忽略该消息即可。 将源文件编译到 C:handson2developmentjavacollectionssamplesSet-HashSet-addbuildclasses注意:C:handson2developmentjavacollectionssamplesSet-HashSet-addsrcsethashsetaddMain.java 使用了未经检查或不安全的操作。注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。 解决方案:此练习作为可运行的 NetBeans 项目包含在动手实验室的压缩文件中。项目文件位于 /javacollections/samples/Set-HashSet-add。您可以打开并运行它。4. 作为练习,请执行以下操作 创建您自己的 NetBeans 项目,并将其命名为 MyHashSet 创建您自己的 HashSet 对象,初始容量设为 5 将以下对象添加到新创建的 HashSet 对象中 o 2 个 String 对象o 2 个 MyOwnClass 对象(首先需要创建 MyOwnClass.java)o 3 个 Integer 对象 显示 HashSet 对象返回练习顶部(1.2)通过 HashSet 查找重复元素1. 创建一个新的 NetBeans 项目 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格中的 项目名称 字段中输入 Set-HashSet-FindDup 作为项目名。 在 创建主类 字段中,使用 IDE 提供的缺省值 sethashsetfinddup.Main。 单击 完成 按钮。 注意到出现了 Set-HashSet-FindDup 项目,IDE 生成的 Main.java 显示于 NetBeans IDE 的源编辑器窗口中。 2. 将 IDE 生成的 Main.java 文件修改为代码 1.20 所示的内容。仔细学习代码,需要特别注意黑体部分。 package sethashsetfinddup;import java.util.HashSet;import java.util.Set;public class Main public static void main(String args) / Set up test data String name = new String(Sang), new String(Shin), new String(Boston), new String(Shin) ; / Create HashSet object instance and / assign it to a variable of Set type. Set s = new HashSet(); for (int i=0; iname.length; i+) if (!s.add(namei) System.out.println(Duplicate detected: +namei); System.out.println(s.size()+ distinct words detected: +s); 代码 1.20:经过修改的 Main.java 文件3. 生成和运行项目 右键单击 Set-HashSet-FindDup 项目并选择 运行。 在 输出 窗口中查看结果。(如图 1.21 所示) Duplicate detected: Shin3 distinct words detected: Shin, Sang, Boston图 1.21:运行 Set-HashSet-FindDup 应用程序的结果解决方案:此练习作为可运行的 NetBeans 项目包含在动手实验室的压缩文件中。项目文件位于 /javacollections/samples/Set-HashSet-FindDup。您可以打开并运行它。4. 作为练习,请完成以下任务: 根据以下要求修改 Main.java o 创建含有多个重复元素的名为 myownnames 的 Strings 数组 o 通过数组创建一个 HashSet 对象,显示该对象并确保在此集合中不含重复值。 返回练习顶部(1.3)通过 HashSet 2 查找重复元素在此步骤中,您将实践 removeAll()方法。1. 创建一个新的 NetBeans 对象 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格中的 项目名称 字段中输入 Set-HashSet-FindDup2 作为项目名。 对于 创建主类 字段,使用IDE 所提供的默认值。 单击 完成 按钮。 注意到出现了 Set-HashSet-FindDup2 项目,IDE 生成的 Main.java 显示于 NetBeans IDE 的源编辑器窗口中。 2. 将 IDE 生成的 Main.java 文件修改为代码 1.30 所示的内容。仔细学习代码,需要特别注意黑体部分。 package sethashsetfinddup2;import java.util.HashSet;import java.util.Set;public class Main public static void main(String args) / Set up test data String name = new String(Sang), new String(Shin), new String(Boston), new String(Shin) ; Set uniques = new HashSet(); Set dups = new HashSet(); for (int i=0; iname.length; i+) if (!uniques.add(namei) dups.add(namei); / Remove items that duplicates uniques.removeAll(dups); System.out.println(Unique words: + uniques); System.out.println(Duplicate words: + dups); 代码 1.30:经过修改的 Main.java 文件3. 生成和运行项目 右键单击 Set-HashSet-FindDup2 项目并选择 运行。 在 输出 窗口中查看结果。(如图 1.31 所示) Unique words: Sang, BostonDuplicate words: Shin图 1.31:运行 Set-HashSet-FindDup2 应用程序的结果解决方案:此练习作为可运行的 NetBeans 项目包含在动手实验室的压缩文件中。项目文件位于 /javacollections/samples/Set-HashSet-FindDup2。您可以打开并运行它。4. 作为练习,请完成以下任务: 根据以下要求修改 Main.java 或创建您自己的项目o 创建含多个重复值的名为 myownnames 的 Strings 数组 o 创建两个 HashSet 对象,使用 removeAll()方法从原始集合里删除带重复值的条目。 o 显示这两个 HashSet 对象返回练习顶部(1.4)构建和运行使用 TreeSet 的应用程序在本步骤中,我们将构建一个使用 TreeSet 的应用程序,并且将实践 TreeSet 类的各个方法。以下内容引用自在线 HashSet JavaDoc。 此类实现了 Set 接口,由 TreeMap 实例提供支持。此类保证排好序的集合将以元素升序排列,排序根据元素的 自然顺序 (参见 Comparable),或者由集合创建时提供的比较器进行排序,这取决于使用哪个构造函数。此实现保证了基本操作(add、remove 和 contains)所需的 log(n)时间消耗。请注意,如果由集合所维持的排序(而不论是否提供显式的比较器)要正确地实现 Set 接口,那么它就必须和 equals 保持一致(请参考 Comparable 或者 Comparator 以对 和 equals 相一致有一个精确的定义。)。这是因为 Set 接口是根据 equals 操作定义的,但 TreeSet 实例使用其 compareTo (或 compare)方法执行所有的键值比较,从集合的角度讲,使用此方法而注定相等的两个键值是相等的。Set 的行为是被定义好的,即使它的排序和 equals 不一致;它也只是没有遵照 Set 接口的总体约束而已。1. 创建一个 NetBeans 项目 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格中的 项目名称 字段中输入 Set-TreeSet 作为项目名。 对于 创建主类 字段,使用 IDE 所提供的默认值。 单击 完成 按钮。 注意到出现了 Set-TreeSet ,IDE 生成的 Main.java 显示于 NetBeans IDE 的源编辑器窗口中。 2. 将 IDE 生成的 Main.java 文件修改为代码 1.40 所示的内容。package settreeset;import java.util.Set;import java.util.TreeSet;public class Main public static void main(String args) Set ts = new TreeSet(); ts.add(one); ts.add(two); ts.add(three); ts.add(four); ts.add(three); System.out.println(Members from TreeSet = + ts); Set ts2 = new TreeSet(); ts2.add(1); ts2.add(2); ts2.add(3); ts2.add(4); ts2.add(2); System.out.println(Members from TreeSet = + ts2); 代码 1.40:经过修改的 Set-TreeSet.java 文件3. 生成和运行项目 右键单击 Set-TreeSet 项目并选择 运行。 在 输出 窗口中查看结果。(如图 1.41 所示) Members from TreeSet = four, one, three, twoMembers from TreeSet = 1, 2, 3, 4图 1.41:运行 Set-TreeSet 应用程序的结果解决方案:此练习作为可运行的 NetBeans 项目包含在动手实验室的压缩文件中。项目文件位于 /javacollections/samples/Set-TreeSet。您可以打开并运行它。返回练习顶部(1.5)构建和运行使用 LinkedHashSet 的应用程序1. 创建一个新的 NetBeans 项目 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格中 项目名称 字段中输入 Set-LinkedHashSet 作为项目名。 对于 创建主类 字段,使用 IDE 所提供的默认值。 单击 完成 按钮。 注意到出现了 Set-LinkedHashSet 项目,IDE 生成的 Main.java 显示于 NetBeans IDE 源编辑器窗口中。 2. 将 IDE 生成的 Main.java 文件修改为代码 1.50 所示的内容。仔细学习代码,需要特别注意黑体部分。 package setlinkedhashset;import java.util.LinkedHashSet;import java.util.Set;public class Main public static void main(String args) Set ts = new LinkedHashSet(); ts.add(one); ts.add(two); ts.add(three); ts.add(four); ts.add(two); System.out.println(Members from LinkedHashSet = + ts); Set ts2 = new LinkedHashSet(); ts2.add(2); ts2.add(1); ts2.add(3); ts2.add(3); System.out.println(Members from LinkedHashSet = + ts2); 代码 1.50:经过修改的 Main.java 文件3. 生成和运行项目 右键单击 Set-LinkedHashSet 项目并选择 运行。 在 输出 窗口中查看结果。(如图 1.51 所示) Members from LinkedHashSet = one, two, three, fourMembers from LinkedHashSet = 2, 1, 3图 1.51:运行 Set-LinkedHashSet 应用程序的结果解决方案:此练习作为可运行的 NetBeans 项目包含在动手实验室的压缩文件中。项目文件位于 /javacollections/samples/Set-LinkedHashSet。您可以打开并运行它。返回练习顶部(1.6)Set 和多态性1. 创建一个新的 NetBeans 项目 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格中的 项目名称 字段中输入 Set-Polymorphism 作为项目名称。 对于 创建主类 字段,使用IDE 所提供的默认值。 单击 完成 按钮。 注意到出现了 Set-Polymorphism 项目,IDE 生成的 Main.java 显示于 NetBeans IDE 的源编辑器窗口中。 2. 将 IDE 生成的 Main.java 文件修改为代码 1.60 所示的内容。仔细学习代码,需要特别注意黑体部分。 package setpolymorphism;import java.util.HashSet;import java.util.LinkedHashSet;import java.util.Set;import java.util.TreeSet;public class Main public static void main(String args) / Set up test data String numbers = new String(2), new String(3), new String(4), new String(1), new String(2) ; Set s = new HashSet(); MyOwnUtilityClass.checkDuplicate(s, numbers); s = new TreeSet(); MyOwnUtilityClass.checkDuplicate(s, numbers); s = new LinkedHashSet(); MyOwnUtilityClass.checkDuplicate(s, numbers); 代码 1.60:经过修改的 Main.java 文件3. 编写 MyOwnUtilityClass.java.package setpolymorphism;import java.util.Set;public class MyOwnUtilityClass public static void checkDuplicate(Set s, String numbers) for (int i=0; inumbers.length; i+) if (!s.add(numbersi) System.out.println(Set type = + s.getClass().getName()+ + s); 代码 1.61:MyOwnUtilityClass.java4. 生成和运行项目 右键单击 Set-Polymorphism 项目并选择 运行。 在 输出 窗口中查看结果。(如图 1.62 所示) Set type = java.util.HashSet 3, 2, 4, 1Set type = java.util.TreeSet 1, 2, 3, 4Set type = java.util.LinkedHashSet 2, 3, 4, 1图 1.62:运行 Set-Polymorphism 应用程序的结果解决方案:本练习作为可运行的 NetBeans 项目包含在动手实验室的压缩文件中。项目文件位于 /javacollections/samples/Set-Polymorphism。您可以打开并运行它。返回练习顶部结束语在本练习中,您了解了如何使用 HashSet、TreeSet 和 LinkedHashSet。返回顶部练习 2:构建和运行使用 List 集合对象的应用程序List 接口扩展了 Collection 接口,从而定义排好序的、允许重复值的集合。该接口添加了定位操作,以及只对列表的部分进行操作的功能。集合框架中有两个通用的 List 实现:ArrayList 和 LinkedList。使用这两种实现中的哪个取决于具体的要求。如果需要支持随机访问,要在除结尾以外的任意位置插入或删除元素,那么 ArrayList 是最佳选择。如果需要从 list 中部频繁添加和删除元素,并且只按顺序访问列表元素,那么 LinkedList 的实现则更好一些。在本步骤中,将构建一个使用 ArrayList 的应用程序。您将练习 ArrayList 类的几个方法。以下引用自在线的 ArrayList 的 JavaDoc。ArrayList 是 List 接口的一个可以重新改变尺寸的数组实现。它实现所有可选 List 操作,并允许所有元素,包括 null 元素。除了实现 List 接口,此类还提供多个方法以操纵用于列表内部存储的数组的尺寸。(除了非同步这一点,此类大体上等同于 Vector)方法 size、isEmpty、get、set、iterator 和 listIterator 操作都在固定的时间运行。而 Add 操作在固定的时间里分次运行,即,添加 n 个元素需要的时间为 O(n)。其他所有操作都以线性时间运行(粗略地讲)。相比 LinkedList 实现而言,固定因数较低。每个 ArrayList 实例都有一个容量。容量是用于存储列表中元素的数组尺寸。容量通常至少也和列表的尺寸一样。随着元素被添加进 ArrayList,其容量也会自动增大。并没有明确的增大规则,增大无非基于这样一个事实,即添加元素会在固定的时间里分次运行。应用程序可以在使用 ensureCapacity 操作添加大量元素前增大 ArrayList 实例的容量。这样做也许会减小不断增加的需要重新配置的数量。1. 构建和运行使用 ArrayList 的应用程序 2. 构建和运行另一个使用 ArrayList 的应用程序3. 构建和运行使用 LinkedList 的应用程序 (2.1)构建和运行使用 ArrayList 的应用程序0. 如果尚未启动 NetBeans IDE,请启动它。1. 创建一个新 NetBeans 项目。 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格下,项目名称 处输入 List-ArrayList 作为项目名。 在 创建主类 处,选择由 IDE 提供的缺省值。(如图 2.11 所示) 单击 完成 按钮。 注意到出现了 List-ArrayList 项目,IDE 生成的 Main.java 显示于 NetBeans IDE 的源编辑器窗口。 2. 将 IDE 生成的 Main.java 文件修改为代码 2.12 所示的内容。package listarraylist;import java.util.ArrayList;import java.util.ListIterator;public class Main public static void main(String args) / Create ArrayList object with capacity of 2 elements ArrayList al = new ArrayList(2); System.out.println(al+, size = +al.size(); / Add items to the ArrayList al.add(R); al.add(U); al.add(O); al.add(new String(x); al.add(2, new Integer(10); System.out.println(al+, size = + al.size(); / Remove item al.remove(U); System.out.println(al+, size = + al.size(); / Check if the list contains the specified element Boolean b = al.contains(x); System.out.println(The list contains x = + b); b = al.contains(p); System.out.println(The list contains p = + b); b = al.contains(new Integer(10); System.out.println(The list contains Integer of 10 = + b); / Create ListIterator and iterate entries in it ListIterator li = al.listIterator(); while (li.hasNext() System.out.println(From ListIterator = + li.next(); / Create Object array from ArrayList Object a = al.toArray(); for (int i=0; ia.length; i+) System.out.println(From an Array = + ai); 代码 2.12:经过修改的 LinkedListDemo.java 文件3. 生成和运行项目 右键单击 List-ArrayList 项目并选择 运行。 在 输出 窗口中查看结果。(如图 2.13 所示) , size = 0R, U, 10, O, x, size = 5R, 10, O, x, size = 4The list contains x = trueThe list contains p = falseThe list contains Integer of 10 = trueFrom ListIterator = RFrom ListIterator = 10From ListIterator = OFrom ListIterator = xFrom an Array = RFrom an Array = 10From an Array = OFrom an Array = x图 2.13:运行 List-ArrayList 应用程序的结果4. 作为练习,请完成以下任务 创建您自己的 NetBeans 项目,将其命名为 MyOwnArrayList。 创建您自己的 ArrayList 对象,初始容量设为 5。 将以下对象添加到新创建的 ArrayList 对象中。 o 2 个 String 对象o 1 个 MyOwnClass 对象(首先需要创建 MyOwnClass.java)o 3 个 Integer 对象 通过 ArrayList 对象创建 Iterator 对象,并通过迭代显示它们。 通过 ArrayList 对象创建 Object 数组,并在一个 for 循环中显示它们。 解决方案:此练习作为可运行的 NetBeans 项目包含在动手实验室的压缩文件中。项目文件位于 /javacollections/samples/List-ArrayList。您可以打开并运行它。返回练习顶部(2.2)构建另一个使用 ArrayList 的 Java 应用程序1. 创建一个新 NetBeans 项目 选择 文件-新建项目(Ctrl+Shift+N)。此时将出现 新建项目 对话框。 在 选择项目 窗格中,选择 类别 列表中的 Java,并选择 项目 列表中的 Java 应用程序。单击 下一步 按钮。 在 名称和位置 窗格中的 项目名称 字段中输入 List-ArrayList-Deal 作为项目名。 在 创建主类 字段中输入 listarraylistdeal.Deal。 单击 完成 按钮。 注意到出现了 List-ArrayList-Deal 项目,生成 Deal.java 的 IDE 显示于 NetBeans IDE 的源编辑器窗口中。 2. 根据以下代码 2.20 修改 IDE 生成的 Deal.java。仔细阅读以下代码。package listarraylistdeal;import java.util.*;class Deal public static void main(String args) int numHands = Integer.parseInt(args0); int cardsPerHand = Integer.parseInt(args1); / Make a normal 52-card deck String suit = new String spades, hearts, diamonds, clubs; String rank = new String ace,2,3,4,5,6,7,8,9,10,jack,queen,king; List deck = new ArrayList(); for (int i=0; isuit.length; i+) for (int j=0; jrank.length; j+) deck.add(rankj + of + suiti); Collections.shuffle(deck); for (int i=0; inumHands; i+) System.out.println(dealHand(deck, cardsPerHand); public static List dealHand(List deck, int n) int deckSize = deck.size(); List handView = deck.subList(deckSize-n, deckSize); List hand = new ArrayList(handView); handView.clear(); return hand; 代码 2.20:经过修改的 Deal.java 文件3. 生成和运行项目 右键单击 List-ArrayList-Deal 项目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年记者证考试受欢迎试题及答案
- 2025合同文书模板:出国留学需要注意哪些合同事项
- 汽车美容师顾客群体分析试题及答案
- 手术室安全用药
- 2025艺人经纪及形象授权合同范本
- 政法干警综合1真题及解析
- 河南省遂平中学2024-2025学年高三下学期第一次阶段考试综合试题含解析
- 广东潮州卫生健康职业学院《水处理功能材料》2023-2024学年第二学期期末试卷
- 河南物流职业学院《声像广告设计》2023-2024学年第一学期期末试卷
- 福建省福州文博中学2025年高三3月第二次周考历史试题含解析
- 电网工程设备材料信息参考价(2024年第四季度)
- 电子产品生产工艺流程手册
- GB/T 1936.1-2009木材抗弯强度试验方法
- 马克思主义唯物史观课件
- 工商企业管理专业案例分析报告
- DB15T 2403-2021肉羊育种数据管理规范
- 口腔种植专用病历【范本模板】
- 《空中领航学》4.2 确定飞机位置
- 邻二氮菲分光光度法测定微量铁(精)
- 产业经济学完整版ppt全套教程课件(最新)
- GB-T 18348-2022 商品条码 条码符号印制质量的检验(高清版)
评论
0/150
提交评论