内容发布更新时间 : 2025/6/18 8:32:08星期一 下面是文章的全部内容请认真阅读。
java 集合框架(习题)
集合框架 Key Point
* Collection 接口、Set 接口、List 接口基本操作 * List 接口及其实现类 * Set 接口及其实现类 * 迭代遍历
* Hash 算法与hashCode 方法 * Comparable 接口 * Map 接口及其实现类 * 遍历Map * 泛型 练习 1. 填空
Collection 接口的特点是元素是对象;
List 接口的特点是元素有(有|无)顺序,可以(可以|不可以)重复; Set 接口的特点是元素无(有|无)顺序,不可以(可以|不可以)重复; Map 接口的特点是元素是键值对,其中值可以重复,键不可以重复。 2. (List)有如下代码 import java.util.*; public class TestList{
public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); }
public static void printList(List list){ for(Object obj:list){ String str=(String)obj; System.out.println(obj); } } }
要求:
1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容 2) 写出程序执行的结果 Hello java Learn World
3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪里?ArrayList 和 LinkedList 使用上有什么区别?实现上有什么区别?
把实例化的语句改为new LinkedList();
ArrayList 数组实现 查询快 增删慢 LinkedList 链表实现 查询慢 增删快
4) 如果要把实现类由ArrayList 换为Vector,应该改哪里?ArrayList 和Vector 使 用上有什么区别?实现上有什么区别?
ArrayList是线程不同步的,轻量级的,线程不安全,速度快 Vector是线程同步的 ,多线程访问比较安全,速度慢 3. (List)写出下面程序的运行结果 import java.util.*; public class TestList{
public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(“Hello”); list.add(“Learn”); list.remove(“Hello”); list.remove(0);
for(int i = 0; i
Hello
Learn
4. (Set,List) import java.util.*;
public class TestListSet{
public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“Learn”); list.add(“Hel