JAVA 集合框架(习题与答案)

合集下载

java集合编程练习题及答案

java集合编程练习题及答案

java集合编程练习题及答案题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....public class exp2{public static void main{int i=0;forSystem.out.println);}public static int f{ifreturn 1;elsereturn f+f;}}或public class exp2{public static void main{int i=0;math mymath = new math;forSystem.out.println);}}class math{public int f{ifreturn 1;elsereturn f+f;}}题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt,如果能被整除,则表明此数不是素数,反之是素数。

public class exp2{public static void main{int i=0;math mymath = new math;forif==true)System.out.println;}}class math{public int f{ifreturn 1;elsereturn f+f;}public boolean iszhishu{for}if return false; return true; }题目:打印出所有的“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数“,因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

Java集合练习及面试题

Java集合练习及面试题

章节练习题及面试题Collection 和Collections的区别答:Collection是集合类的上级接口,继承于他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别答:Set里的元素是不能重复的,用equals()方法判读两个Set是否相等equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值List, Set, Map是否继承自Collection接口答:List,Set是,Map不是两个对象值相同(x.equals(y) == true),但却可有不同的hash cod e,这句话对不对答:不对,有相同的hash code说出ArrayList,Vector, LinkedList的存储性能和特性答:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

HashMap和Hashtable的区别答:1.HashMap与Hashtable都实现了Map接口。

由于HashMap的非线程安全性,效率上可能高于Hashtable。

Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。

java集合题目

java集合题目

java集合题目Java是一种广泛应用于软件开发领域的编程语言,它提供了丰富的类库和工具,其中集合框架是Java编程中非常重要的一部分。

集合框架提供了一组接口和类,用于存储和操作一组对象。

在本文中,我们将介绍一些与Java集合相关的题目。

1. 题目一:ArrayList和LinkedList的区别是什么?它们各自适用于什么场景?ArrayList和LinkedList都是Java集合框架中的List接口的实现类,它们之间的主要区别在于底层数据结构和性能。

ArrayList基于数组实现,它的优点是随机访问元素的效率高,但在插入和删除元素时需要移动其他元素,效率较低。

LinkedList基于双向链表实现,它的优点是插入和删除元素的效率高,但随机访问元素的效率较低。

适用场景方面,如果需要频繁进行随机访问操作,比如根据索引获取元素或修改元素,那么ArrayList是更好的选择。

如果需要频繁进行插入和删除操作,比如在集合的头部或尾部插入或删除元素,那么LinkedList是更好的选择。

2. 题目二:HashSet和TreeSet的区别是什么?它们各自适用于什么场景?HashSet和TreeSet都是Java集合框架中的Set接口的实现类,它们之间的主要区别在于元素的存储和排序方式。

HashSet使用哈希表实现,它的优点是插入和查找元素的效率高,但元素的顺序是不确定的。

TreeSet使用红黑树实现,它的优点是元素是有序的,但插入和查找元素的效率较低。

适用场景方面,如果不关心元素的顺序,只需要快速地插入和查找元素,那么HashSet是更好的选择。

如果需要对元素进行排序,并且插入和查找元素的效率相对较低可以接受,那么TreeSet是更好的选择。

3. 题目三:HashMap和Hashtable的区别是什么?它们各自适用于什么场景?HashMap和Hashtable都是Java集合框架中的Map接口的实现类,它们之间的主要区别在于线程安全性和空值的处理方式。

java集合试题及答案

java集合试题及答案

java集合试题及答案# Java集合试题及答案1. 选择题- 集合框架中,哪个接口提供了对集合的最小功能定义?- A. List- B. Set- C. Map- D. Collection- 答案:D2. 填空题- 在Java集合框架中,ArrayList是基于______实现的。

- 答案:数组3. 简答题- 描述ArrayList和LinkedList在性能上的主要差异。

- 答案:ArrayList是基于动态数组实现的,因此对于随机访问操作有较好的性能。

LinkedList是基于双向链表实现的,因此对于插入和删除操作有更好的性能。

4. 编程题- 编写一个Java程序,实现一个方法,该方法接受一个ArrayList<Integer>作为参数,并返回一个新的ArrayList<Integer>,其中包含原列表中所有元素的平方。

```javapublic class SquareList {public static ArrayList<Integer>squareList(ArrayList<Integer> input) {ArrayList<Integer> result = new ArrayList<>(); for (int num : input) {result.add(num * num);}return result;}}```5. 判断题- 在Java中,HashMap的键值对是有序的。

- 正确- 错误- 答案:错误6. 多选题- 下列哪些类实现了Map接口?- A. HashMap- B. TreeMap- C. HashSet- D. LinkedHashMap- 答案:A, B, D7. 计算题- 假设有一个ArrayList<String>,包含10个元素,如果使用Collections.sort()方法对其进行排序,排序后第一个元素的索引是多少?- 答案:08. 案例分析题- 给定一个HashSet<String>,包含"apple", "banana", "cherry", "date", "elderberry"五个元素。

java集合框架(习题与答案)

java集合框架(习题与答案)

java 集合框架(习题)集合框架Key Point‎* Colle‎ction‎接口、Set 接口、List 接口基本操‎作* List 接口及其实‎现类* Set 接口及其实‎现类* 迭代遍历* Hash 算法与ha‎shCod‎e方法* Compa‎rable‎接口* Map 接口及其实‎现类* 遍历Map‎* 泛型练习1. 填空Colle‎ction‎接口的特点‎是元素是对‎象;List 接口的特点‎是元素有(有|无)顺序,可以(可以|不可以)重复;Set 接口的特点‎是元素无(有|无)顺序,不可以(可以|不可以)重复;Map 接口的特点‎是元素是键‎值对,其中值可以‎重复,键不可以重‎复。

2. (List)有如下代码‎impor‎t java.util.*;publi‎c class‎TestL‎i st{publi‎c stati‎c void main(Strin‎g args[]){List list = new Array‎L ist();list.add(“Hello‎”);list.add(“World‎”);list.add(1, “Learn‎”);list.add(1,‎“Java”);print‎L ist(list);}publi‎c stati‎c void print‎L ist(List list){for(Objec‎t obj:list){Strin‎g str=(Strin‎g)obj;Syste‎m.out.print‎l n(obj);}}}要求:1) 把//1 处的代码补‎充完整,要求输出l‎i s t 中所有元素‎的内容2) 写出程序执‎行的结果Hello‎j ava Learn‎W orld‎3) 如果要把实‎现类由Ar‎rayLi‎s t换为Lin‎k edLi‎s t,应该改哪里‎?A rray‎Li st 和Linke‎d List‎使用上有什‎么区别?实现上有什‎么区别?把实例化的‎语句改为n‎e w Linke‎dLi st‎();Array‎Li st 数组实现查询快增删慢Linke‎d List‎链表实现查询慢增删快4) 如果要把实‎现类由Ar‎rayLi‎s t换为V ec‎t or,应该改哪里‎?A rray‎Li st 和V ect‎o r 使用上有什么‎区别?实现上有什‎么区别?Array‎Li st是‎线程不同步‎的,轻量级的,线程不安全‎,速度快V ecto‎r是线程同‎步的,多线程访问‎比较安全,速度慢3. (List)写出下面程‎序的运行结‎果impor‎t java.util.*;publi‎c class‎TestL‎i st{publi‎c stati‎c void main(Strin‎g args[]){List list = new Array‎L ist();list.add(“Hello‎”);list.add(“World‎”);list.add(“Hello‎”);list.add(“Learn‎”);list.remov‎e(“Hello‎”);list.remov‎e(0);for(int i = 0; i<list.size(); i++){Syste‎m.out.print‎l n(list.get(i));}}}Hello‎Learn‎4. (Set,List)impor‎t java.util.*;publi‎c class‎TestL‎i stSe‎t{publi‎c stati‎c void main(Strin‎g args[]){List list = new Array‎L ist();list.add(“Hello‎”);list.add(“Learn‎”);list.add(“Hello‎”);list.add(“Welco‎m e”);Set set = new HashS‎e t();set.addAl‎l(list);Syste‎m.out.print‎l n(set.size());}}选择正确答‎案A.编译不通过‎B.编译通过,运行时异常‎C.编译运行都‎正常,//输出Has‎h Set中‎不能放重复‎值D.编译运行都‎正常,输出45. (List)已知有一个‎W o rke‎r类如下:publi‎c class‎Worke‎r {priva‎t e int age;priva‎t e Strin‎g name;priva‎t e doubl‎e salar‎y;publi‎c Worke‎r (){}publi‎c Worke‎r (Strin‎g name, int age, doubl‎e salar‎y){ = name;this.age = age;this.salar‎y = salar‎y;}publi‎c int getAg‎e() {retur‎n age;}publi‎c void setAg‎e(int age) {this.age = age;}publi‎c Strin‎g getNa‎m e() {retur‎n name;}publi‎c void setNa‎m e(Strin‎g name) { = name;}publi‎c doubl‎e getSa‎l ary(){retur‎n salar‎y;}publi‎c void setSa‎l ary(doubl‎e salar‎y){this.salar‎y = salar‎y;}publi‎c void work(){Syste‎m.out.print‎l n(name‎+‎“‎work”);}}完成下面的‎要求1) 创建一个L‎i s t,在List‎中增加三个‎工人,基本信息如‎下:姓名年龄工资zhang‎3 18 3000li4 25 3500wang5‎22 32002) 在li4 之前插入一‎个工人,信息为:姓名:zhao6‎,年龄:24,工资330‎03) 删除wan‎g5 的信息4) 利用for‎循环遍历,打印Lis‎t中所有工人‎的信息5) 利用迭代遍‎历,对List‎中所有的工‎人调用wo‎rk 方法。

40个Java集合面试问题和答案

40个Java集合面试问题和答案

40个Java集合面试问题和答案Java集合问题有哪些?下面是yjbys整理的40个Java集合和答案,希望对你有帮助!1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。

随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。

在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。

它还包括在Java并发包中,阻塞接口以及它们的实现。

集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。

(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。

(3)通过使用JDK附带的集合类,可以降低代码维护成本。

(4)复用性和可操作性。

2.集合框架中的泛型有什么优点?Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。

泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。

这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。

泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。

它也给运行时带来好处,因为不会产生类型检查的字节码指令。

3.Java集合框架的基础接口有哪些?Collection为集合层级的根接口。

一个集合代表一组对象,这些对象即为它的元素。

Java平台不提供这个接口任何直接的实现。

Set是一个不能包含重复元素的集合。

这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。

List是一个有序集合,可以包含重复元素。

你可以通过它的索引来访问任何元素。

List更像长度动态变换的数组。

Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。

一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。

Java面试题总结-Java集合篇(附答案)

Java面试题总结-Java集合篇(附答案)

Java⾯试题总结-Java集合篇(附答案)⽬录⼀、Java 容器都有哪些?1、Collection(1)setHashSet、TreeSet(2)listArrayList、LinkedList、Vector2、MapHashMap、HashTable、TreeMap⼆、Collection 和 Collections 有什么区别?1、Collection是最基本的集合接⼝,Collection派⽣了两个⼦接⼝list和set,分别定义了两种不同的存储⽅式。

2、Collections是⼀个包装类,它包含各种有关集合操作的静态⽅法(对集合的搜索、排序、线程安全化等)。

此类不能实例化,就像⼀个⼯具类,服务于Collection框架。

三、list与Set区别1、List简介实际上有两种List:⼀种是基本的ArrayList,其优点在于随机访问元素,另⼀种是LinkedList,它并不是为快速随机访问设计的,⽽是快速的插⼊或删除。

ArrayList:由数组实现的List。

允许对元素进⾏快速随机访问,但是向List中间插⼊与移除元素的速度很慢。

LinkedList :对顺序访问进⾏了优化,向List中间插⼊与删除的开销并不⼤。

随机访问则相对较慢。

还具有下列⽅ 法:addFirst(), addLast(), getFirst(), getLast(), removeFirst() 和 removeLast(), 这些⽅法 (没有在任何接⼝或基类中定义过)使得LinkedList可以当作堆栈、队列和双向队列使⽤。

2、Set简介Set具有与Collection完全⼀样的接⼝,因此没有任何额外的功能。

实际上Set就是Collection,只是⾏为不同。

这是继承与多态思想的典型应⽤:表现不同的⾏为。

Set不保存重复的元素(⾄于如何判断元素相同则较为负责)Set : 存⼊Set的每个元素都必须是唯⼀的,因为Set不保存重复元素。

40个Java集合面试问题和答案

40个Java集合面试问题和答案

40个Java集合面试问题和答案1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。

随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。

在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。

它还包括在Java并发包中,阻塞接口以及它们的实现。

集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。

(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。

(3)通过使用JDK附带的集合类,可以降低代码维护成本。

(4)复用性和可操作性。

2.集合框架中的泛型有什么优点?Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。

泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。

这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。

泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。

它也给运行时带来好处,因为不会产生类型检查的字节码指令。

3.Java集合框架的基础接口有哪些?Collection为集合层级的根接口。

一个集合代表一组对象,这些对象即为它的元素。

Java平台不提供这个接口任何直接的实现。

Set是一个不能包含重复元素的集合。

这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。

List是一个有序集合,可以包含重复元素。

你可以通过它的索引来访问任何元素。

List更像长度动态变换的数组。

Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。

一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。

JAVA程序设计单元测试三与答案

JAVA程序设计单元测试三与答案

一、单选题1、关于Java集合类框架的基本接口,下列说法错误的是()。

A.Map可以把键(key)映射到值(value)的对象,键不能重复。

B.List是有顺序的Collection,不可以包含重复元素。

C.Set不包含重复元素的Collection。

D.Collection代表一组对象,每一个对象都是它的子元素。

正确答案:B2、()集合类不能提供对元素的随机访问。

A.HashMapB.HashTableC.TreeMapD.LinkedList正确答案:D3、关于Iterator和ListIterator,说法错误的是()。

A.ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素索引位置。

B.Iterator只能遍历Set集合。

C.Iterator只可以向后遍历,而ListIterator可以双向遍历。

D.ListIterator只能遍历List。

正确答案:B4、关于Array和ArrayList的区别,下列说法不正确的是()。

A.ArrayList在任何场景都比Array好用,可以完全替代Array。

B.Array是指定大小的,而ArrayList大小是不固定的。

C.Array没有提供ArrayList那么多功能,比如addAll、removeAll和iterator等。

D.Array可以容纳基本类型和对象,而ArrayList只能容纳对象。

正确答案:A5、关于Java集合框架的优势,下面说法错误的是()。

A.复用性和可操作性。

B.通过使用JDK附带的集合类,可以降低代码维护成本。

C.随着使用经过严格测试的集合框架类,代码质量会得到提高。

D.使用核心集合类降低开发成本,但是要尽可能的实现我们自己的集合类。

正确答案:D6、异常指的是下列哪种情况?()A.程序中的语法错误B.程序事先定义好的可能出现的意外情况C.程序运行过程中发生的不正常现象,它将中断指令的正常进行D.程序的编译错误正确答案:C7、运行以下代码:public class RTExcept{public static void throwit ( ){System.out.print(“throwit ”);throw new RuntimeException( );}public static void main(String[] args){try{System.out.print(“hello ”);throwit( );}catch (Exception re ){System.out.print(“caught ”);}finally{System.out.print(“finally ”);}System.out.println(“after ”);}}运行结果是()。

java 集合练习题

java 集合练习题

java 集合练习题在Java编程中,集合(Collection)是非常重要的数据结构,用于存储一组对象。

它们提供了许多有用的方法和功能,可以帮助我们有效地操作和管理数据。

本文将介绍一些Java集合的练习题,旨在帮助读者加深对集合的理解和应用。

练习题一:集合的创建和初始化请编写Java代码,实现以下功能:1. 创建一个ArrayList集合,用于存储整型数据。

2. 初始化这个ArrayList,使其包含以下元素:[1, 3, 5, 7, 9]。

3. 遍历ArrayList,将每个元素打印到控制台。

解答:```javaimport java.util.ArrayList;public class ArrayListExercise {public static void main(String[] args) {ArrayList<Integer> numbers = new ArrayList<>();numbers.add(1);numbers.add(3);numbers.add(5);numbers.add(7);numbers.add(9);for (int number : numbers) {System.out.println(number);}}}```练习题二:集合的添加和删除元素请编写Java代码,实现以下功能:1. 创建一个HashSet集合,用于存储字符串数据。

2. 初始化这个HashSet,使其包含以下元素:["apple", "banana", "orange"]。

3. 向HashSet中添加新元素:"grape"。

4. 从HashSet中删除元素:"banana"。

5. 遍历HashSet,将每个元素打印到控制台。

解答:```javaimport java.util.HashSet;public class HashSetExercise {public static void main(String[] args) {HashSet<String> fruits = new HashSet<>();fruits.add("apple");fruits.add("banana");fruits.add("orange");fruits.add("grape");fruits.remove("banana");for (String fruit : fruits) {System.out.println(fruit);}}}```练习题三:集合的查找和排序请编写Java代码,实现以下功能:1. 创建一个LinkedList集合,用于存储字符串数据。

java集合类笔试选择题整理含答案

java集合类笔试选择题整理含答案

java集合类笔试选择题整理含答案1、ArrayList list=new ArrayList(20);中的list扩充⼏次()A. 0B. 1C. 2D. 3答案:A分析:已经指定了长度, 所以不扩容2.List、Set、Map哪个继承⾃Collection接⼝,⼀下说法正确的是()A. List MapB. Set MapC. List SetD. List Map Set答案:C分析:Map接⼝继承了ng.Object类,但没有实现任何接⼝.3.以下结构中,哪个具有同步功能()A. HashMapB. ConcurrentHashMapC. WeakHashMapD. TreeMap答案:B分析:A,C,D都线程不安全,B线程安全,具有同步功能4.以下结构中,插⼊性能最⾼的是()A. ArrayListB. LinkedlistC. torD. Collection答案:B分析:数组插⼊、删除效率差,排除Ator不是java⾥⾯的数据结构,是⼀种⽹络路由技术;因此排除CCollection 是集合的接⼝,不是某种数据结构;因此排除D5.以下结构中,哪个最适合当作stack使⽤()A. LinkedHashMapB. LinkedHashSetC. LinkedListLinkedList分析:Stack是先进后出的线性结构;所以链表⽐较合适;不需要散列表的数据结构6.下列叙述中正确的是()A. 循环队列有队头和队尾两个指针,因此,循环队列是⾮线性结构B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D. 在循环队列中元素的个数是由队头指针和队尾指针共同决定的答案:D分析:循环队列中元素的个数是由队⾸指针和队尾指针共同决定的,元素的动态变化也是通过队⾸指针和队尾指针来反映的,当队⾸等于队尾时,队列为空。

学士后Java集合框架和泛型习题答案

学士后Java集合框架和泛型习题答案

package entity;//学生类,属性为:姓名、性别、分数、年龄、班级public class Student {private String name;private String gender;private int score;private int age;private String classes;public Student(String name,String gender, int score,Stringclasses) { = name;this.gender = gender;this.score = score;this.classes = classes;}public Student(String name, String gender, int age, int score){ = name;this.gender = gender;this.age = age;this.score = score;}public Student(String name, int score) { = name;this.score = score;}public Student(String name) { = name;}protected String getName() {return name;}protected void setName(String name) { = name;}protected int getAge() {return age;}protected void setAge(int age) {this.age = age;}protected String getGender() {return gender;}protected void setGender(String gender) { this.gender = gender;}protected int getScore() {return score;}protected void setScore(int score) { this.score = score;}protected String getClasses() {return classes;}protected void setClasses(String classes) { this.classes = classes;}}第二题答案源码及运行效果截图:package entity;import java.util.HashMap;import java.util.Scanner;public class Homework2 {public static void main(String[] args) { HashMap<String,Student> students=new HashMap<String,Student>();Scanner input=new Scanner(System.in);Student stu1=new Student("杨过", 95);Student stu2=new Student("小龙女", 99);Student stu3=new Student("张无忌", 88);Student stu4=new Student("赵敏", 90);students.put("杨过", stu1);students.put("小龙女", stu2);students.put("张无忌", stu3);students.put("赵敏", stu4);System.out.println("请输入学生姓名:");String key=input.next();if(students.containsKey(key)){Student stu= students.get(key);System.out.println(stu.getName()+"的成绩是:"+stu.getScore());}System.out.println("----------所有学生的成绩是-----------");for(Object value:students.values()){Student stu=(Student) value;System.out.println(stu.getName()+"的成绩是:"+stu.getScore());}}}第三题答案源码及运行效果截图:package entity;import java.util.*;public class Homework3 {public static void main(String[] args) {List<Student> list1=new ArrayList<Student>();List<Student> list2=new ArrayList<Student>();List<Student> list3=new ArrayList<Student>();Student stu1=new Student("张三");Student stu2=new Student("李四");Student stu3=new Student("王五");Student stu4=new Student("成龙");Student stu5=new Student("李娜");Student stu6=new Student("张杰");Student stu7=new Student("刘德华");Student stu8=new Student("张学友");Student stu9=new Student("刘亦菲");list1.add(stu1);list1.add(stu2);list1.add(stu3);list2.add(stu4);list2.add(stu5);list2.add(stu6);list3.add(stu7);list3.add(stu8);list3.add(stu9);Map<String,List<Student>> map=new HashMap<String,List<Student>>();map.put("三年级一班", list1);map.put("三年级二班", list2);map.put("三年级三班", list3);System.out.println("输入班级名称:");Scanner input=new Scanner(System.in);String banji=input.next();System.out.println(banji+"学生列表:");List<Student> list=map.get(banji);for(Student stu:list){System.out.println(stu.getName());}}}第四题答案源码及运行效果截图:package entity;import java.util.*;import java.util.Scanner;public class Homework4 {public static void main(String[] args) {ArrayList<Student> list1=newArrayList<Student>();ArrayList<Student> list2=newArrayList<Student>();ArrayList<Student> list3=newArrayList<Student>();Student stu1=new Student("张三","男",20,85);Student stu2=new Student("李四","男",22,80);Student stu3=new Student("王五","男",24,88);Student stu4=new Student("成龙","男",26,95);Student stu5=new Student("李娜","女",24,99);Student stu6=new Student("张杰","男",23,88);Student stu7=new Student("刘德华","男",28,99);Student stu8=new Student("张学友","男",27,87);Student stu9=new Student("刘亦菲","女",24,97);list1.add(stu1);list1.add(stu2);list1.add(stu3);list2.add(stu4);list2.add(stu5);list2.add(stu6);list3.add(stu7);list3.add(stu8);list3.add(stu9);Map<String,ArrayList<Student>> map=newHashMap<String,ArrayList<Student>>();map.put("三年级一班", list1);map.put("三年级二班", list2);map.put("三年级三班", list3);System.out.println("输入班级名称:");Scanner input=new Scanner(System.in);String banji=input.next();System.out.println(banji+"学生列表:");ArrayList<Student> list=map.get(banji);for(Student stu:list){System.out.println(stu.getName()+"\t"+stu.getGender()+"\t"+stu.getAge());}}}。

40个Java集合类面试题和答案详解

40个Java集合类面试题和答案详解

40个Java集合类面试题和答案详解Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。

这里,我列出了一些关于Java集合的重要问题和答案。

1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。

随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。

在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。

它还包括在Java并发包中,阻塞接口以及它们的实现。

集合框架的部分优点如下:(1)使用核心集合类降低开发成本,而非实现我们自己的集合类。

(2)随着使用经过严格测试的集合框架类,代码质量会得到提高。

(3)通过使用JDK附带的集合类,可以降低代码维护成本。

(4)复用性和可操作性。

2.集合框架中的泛型有什么优点?Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。

泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。

这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。

泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。

它也给运行时带来好处,因为不会产生类型检查的字节码指令。

3.Java集合框架的基础接口有哪些?Collection为集合层级的根接口。

一个集合代表一组对象,这些对象即为它的元素。

Java平台不提供这个接口任何直接的实现。

Set是一个不能包含重复元素的集合。

这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。

List是一个有序集合,可以包含重复元素。

你可以通过它的索引来访问任何元素。

List更像长度动态变换的数组。

Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。

java考试题及答案

java考试题及答案

java考试题及答案一、选择题(每题2分,共20分)1. Java语言的标识符可以包含以下哪些字符?A. 数字B. 下划线C. 美元符号D. 空格答案:B2. 下列哪个选项是Java中的关键字?A. classB. mainC. publicD. all of the above答案:D3. Java中,哪个修饰符表示成员变量或方法是私有的?A. publicB. privateC. protectedD. static答案:B4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,下列哪个数据类型是基本数据类型?A. StringB. intC. ArrayListD. HashMap答案:B6. 下列哪个选项不是Java集合框架的一部分?A. ListB. MapC. SetD. String答案:D7. Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final答案:B8. 在Java中,下列哪个选项不是线程安全的?A. VectorB. ArrayListC. LinkedListD. HashMap答案:B9. Java中,下列哪个选项是正确的继承关系?A. Object is a subclass of StringB. String is a subclass of ObjectC. Object is a superclass of StringD. String is a superclass of Object答案:B10. 下列哪个选项不是Java中的访问修饰符?A. publicB. privateC. protectedD. global答案:D二、填空题(每题2分,共20分)1. Java中,用于定义类的关键字是______。

答案:class2. Java中,用于定义接口的关键字是______。

Java程序设计案例教程 习题答案 第6章 集合

Java程序设计案例教程  习题答案  第6章 集合

第6章集合类一.填空
1.Collection
2.hashNext() next()
3.Array List LinkedList, HashSet> TreeSet, HashMap、TreeMap
4.Key> Value
5.数组二.判断
1.错
2.对
3.错
4.对5,对三.选择
1.BC
2.B
3.ABCD
4.D
5.B
6.C四.简答
1. List的特点是元素有序、可重复。

List接口的主耍实现类有ArrayList和LinkedListo Set的特点是元素无序、不可重复。

Set接口的主要实现类有HashSet和TreeSeto Map的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。

M叩接口的主要实现类有HashMap和TreeMap o
2.由于ArrayList集合的底层是使用一个数组来保存元素,在增加或删除指定位置的元素时,会导致创立新的数组,效率比拟低,因此不适合做大量的增删操作。

但这种数组的结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合查找元素很便捷。

五.编程。

java集合框架(习题和答案及解析)

java集合框架(习题和答案及解析)

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 World3) 如果要把实现类由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<list.size(); i++){System.out.println(list.get(i));}}}HelloLearn4. (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(“Hello”);list.add(“Welcome”);Set set = new HashSet();set.addAll(list);System.out.println(set.size());}}选择正确答案A.编译不通过B.编译通过,运行时异常C.编译运行都正常,//输出HashSet中不能放重复值D.编译运行都正常,输出45. (List)已知有一个Worker 类如下:public class Worker {private int age;private String name;private double salary;public Worker (){}public Worker (String name, int age, double salary){ = name;this.age = age;this.salary = salary;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public double getSalary(){return salary;}public void setSalary(double salary){this.salary = salary;}public void work(){System.out.println(name + “ work”);}}完成下面的要求1) 创建一个List,在List 中增加三个工人,基本信息如下:姓名年龄工资zhang3 18 3000li4 25 3500wang5 22 32002) 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资33003) 删除wang5 的信息4) 利用for 循环遍历,打印List 中所有工人的信息5) 利用迭代遍历,对List 中所有的工人调用work 方法。

JAVA习题集(含答案)

JAVA习题集(含答案)

JAVA习题集(含答案)习题一:1.简述Java的发展过程。

2.什么是软件?3.什么叫做源程序?4.什么叫做编译?5.什么是Java 的byte-codes?它的最大好处是什么?6.机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?7.Java程序可分为哪两种?分别如何运行?8.试简述J2SE、J2ME与J2EE的简单区别。

9.练习使用浏览器查看Java API文档。

10.SDK的编译命令是什么?11.试修改例1-1程序,使其输出的字符串为“I’d like to study Java !”,并在DOS命令行环境下编译与运行该程序。

习题一参考答案:1.答:1991:Sun Microsystems公司进军消费电子产品(IA)市场。

1991.4:Sun 成立“Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak。

1992.10:Green小组升格为First Person公司,他们将Oak的技术转移到Web上,并把Oak改名为Java。

1993~1994:Web在Internet上开始流行,致使Java得以迅速发展并获得成功。

1995.5:Sun Microsystems公司正式发表Java与HotJava产品。

1995.10:Netscape与Sun Microsystems合作,在Netscape Nevigator中支持Java。

1995.12:微软(Microsoft)IE加入支持Java的行列。

1996.2:Java Beta测试版结束,Java 1.0版正式诞生。

1997.2:Java发展至1.1版。

Java的第一个开发包JDK(Java Development Kit)发布。

1999.7:Java升级至1.2版。

2000.9:Java升级至1.3版。

2001.7:Java升级至1.4版。

2.答:软件可以理解为程序的另一种名称。

3.答:直接使用高级语言书写的程序代码称为源程序4.答:把用高级语言编写的源程序翻译成可执行(目标)程序的过程称为编译。

Collection集合习题答案

Collection集合习题答案

Collection集合习题答案基础题练习⼀:集合框架⼀、请简述集合框架。

集合按照其存储结构可以分为两⼤类,分别是单列集合java.util.Collection和双列集合java.util.Map。

Collection:单列集合类的根接⼝,⽤于存储⼀系列符合某种规则的元素,它有两个重要的⼦接⼝,分别是java.util.List和java.util.Set。

其中,List的特点是元素有序、元素可重复。

Set的特点是元素⽆序,⽽且不可重复。

List接⼝的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接⼝的主要实现类有java.util.HashSet和java.util.TreeSet。

练习⼆:Collection集合统计元素出现次数/*⼆、给定以下代码,请定义⽅法listTest()统计集合中指定元素出现的次数,如"a": 2,"b": 2,"c" :1, "xxx":0。

*/Collection<String> list = new ArrayList<>();list.add("a");list.add("a");list.add("b");list.add("b");list.add("c");System.out.println("a:"+listTest(list, "a"));System.out.println("b:"+listTest(list, "b"));System.out.println("c:"+listTest(list, "c"));System.out.println("xxx:"+listTest(list, "xxx"));答案:public class CollectionTest01{public static void main(String[] args) {Collection<String> list = new ArrayList<>();list.add("a");list.add("a");list.add("b");list.add("b");list.add("c");System.out.println("a:"+listTest(list, "a"));System.out.println("b:"+listTest(list, "b"));System.out.println("c:"+listTest(list, "c"));System.out.println("xxx:"+listTest(list, "xxx"));}//定义⽅法统计集合中指定元素出现的次数public static int listTest(Collection<String> list,String s){//定义计数器,初始化为0int count = 0;//增强for遍历集合for (String string : list) {//判断传⼊⽅法的字符与遍历集合的是否⼀致if (s.equals(string)) {//如果⼀致,加1count++;}}return count;}}。

java集合框架(习题和答案及解析)

java集合框架(习题和答案及解析)

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 World3) 如果要把实现类由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<list.size(); i++){System.out.println(list.get(i));}}}HelloLearn4. (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(“Hello”);list.add(“Welcome”);Set set = new HashSet();set.addAll(list);System.out.println(set.size());}}选择正确答案A.编译不通过B.编译通过,运行时异常C.编译运行都正常,//输出HashSet中不能放重复值D.编译运行都正常,输出45. (List)已知有一个Worker 类如下:public class Worker {private int age;private String name;private double salary;public Worker (){}public Worker (String name, int age, double salary){ = name;this.age = age;this.salary = salary;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public double getSalary(){return salary;}public void setSalary(double salary){this.salary = salary;}public void work(){System.out.println(name + “ work”);}}完成下面的要求1) 创建一个List,在List 中增加三个工人,基本信息如下:姓名年龄工资zhang3 18 3000li4 25 3500wang5 22 32002) 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资33003) 删除wang5 的信息4) 利用for 循环遍历,打印List 中所有工人的信息5) 利用迭代遍历,对List 中所有的工人调用work 方法。

经典Java集合笔试选择题10道

经典Java集合笔试选择题10道

以下是选择试题:选择题1选择题内容:(集合框架)下面都属于线程安全的类是( )。

A.ArrayListB.VectorC.HashMapD.Hashtable选择题2选择题内容:(集合框架)ArrayList的初始化内容如下:ArrayList list = new ArrayList();list.add("java");list.add("aaa");list.add("java");list.add("java");list.add("bbb");下面可以删除list中所有的“java”的代码是:A.for (int i = list.size() - 1; i >= 0; i--) {if ("java".equals(list.get(i))) {list.remove(i);}}B.for (int i = 0; i < list.size(); i++) {if ("java".equals(list.get(i))) {list.remove(i);}}C.list.remove("java");D.list.removeAll("java");选择题3选择题内容:下面的代码用于输出字符数组ch中每个字符出现的次数,应该填入的代码是public static void main(String[] args) {char[] ch = { 'a', 'c', 'a', 'b', 'c', 'b' };HashMap map = new HashMap();for (int i = 0; i < ch.length; i++) {< 填入代码>}System.out.println(map);}A.if (map.contains(ch[i])) {map.put(ch[i], map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}B.if (map.contains(ch[i])) {map.put(ch[i], (Integer) map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}C.if (map.containsKey(ch[i])) {map.put(ch[i], (int) map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}D.if (map.containsKey(ch[i])) {map.put(ch[i], (Integer) map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}选择题4选择题内容:(集合框架) 题示代码的功能为:对于一个存放Integer对象的ArrayList,内容为:{1,2,3 },对其进行循环遍历:List list=new ArrayList();list.add(1);list.add(2);list.add(3);for(int i=0;i<《插入代码1》;i++){Integer obj=(Integer)《插入代码2》;System.out.println(obj);}那么《插入代码1》和《插入代码2》处的代码分别为A. list.getObject(i) list.length()B. list.length() list.getObject(i)C. list.size() list.get(i)D. list.get(i) list.size()对于字符串来说:对于数组来说:选择题5选择题内容:题示代码的功能为:对于一个存放Person对象的ArrayList进行循环遍历,并取到每个Person对象的idCard和userName。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
class Worker{ String name; int age; double salary; public Worker(){} public Worker(String name, int age, double salary){ = name; this.age = age; this.salary = salary; } public int hashCode(){ return (int)(name.hashCode() + age + salary);
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 使用上有什么区别?实现上有什么区别?
Set set = new HashSet(); set.add(new Worker(“tom”, 18, 2000)); set.add(new Worker(“tom”, 18, 2000)); set.add(0, new Worker(“jerry”, 18, 2000));//HashSet 中没有定义带下标的 add 方法。 System.out.println(set.size()); } } 8. (Set,Hash 算法)在前面的 Worker 类基础上,为 Worker 类增加相应的方法,使得 Worker 放入 HashSet 中时,Set 中没有重复元素。 并编写相应的测试代码。
B. 编译通过,运行时异常 C. 编译运行都正常,//输出 HashSet 中不能放重复值 D. 编译运行都正常,输出 4 5. (List)已知有一个 Worker 类如下: public class Worker { private int age; private String name; private double salary; public Worker (){} public Worker (String name, int age, double salary){ = name; this.age = age; this.salary = salary; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { = name; } public double getSalary(){ return salary; } public void setSalary(double salary){ this.salary = salary; } public void work(){ System.out.println(name + “ work”); } } 完成下面的要求
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(“Hello”); list.add(“Welcome”); Set set = new HashSet(); set.addAll(list); System.out.println(set.size()); } } 选择正确答案 A. 编译不通过
} public boolean equals(Worker w){ if ( == name && w.salary == salary && w.age == age){ return true; }else return false; } }
9. (Set,Comparable 接口)在前面的 Worker 类基础上,为 Worker 类添加相应的代码, 使得 Worker 对象能正确放入 TreeSet 中。并编写相应的测试代码。 注:比较时,先比较工人年龄大小,年龄小的排在前面。如果两个工人年龄相同,则再 比较其收入,收入少的排前面。如果年龄和收入都相同,则根据字典顺序比较工人姓名。例 如:有三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 1500 li4 18 1500 wang5 18 1600 zhao6 17 2000 放入 TreeSet 排序后结果为: zhao6 li4 zhang3 wang5
import java.util.HashSetublic static void main(String[] args) { // TODO Auto-generated method stub HashSet<Worker> hs=new HashSet<Worker>(); Worker w1=new Worker("zhang3", 18, 1500); Worker w2=new Worker("lis4",18,1500); Worker w3=new Worker("wang5",18,1600); Worker w4=new Worker("zhao6",17,2000); hs.add(w1); hs.add(w2); hs.add(w3); hs.add(w4); System.out.println(hs.size()); System.out.println(hs);
A. 三种写法都正确 B. 1), 2)写法正确,2)效率更高 C. 2)写法正确,1),3)写法都不正确 7. (Set,Hash 算法,方法覆盖)代码改错 import java.util.*; class Worker{ String name; int age; double salary; public Worker(){} public Worker(String name, int age, double salary){ = name; this.age = age; this.salary = salary; } public int hashCode(){//hashCode 必须声明为公共的。 return (int)(name.hashCode() + age + salary);//返回值类型为整形( } //equals 方法实现有错 public boolean equals(Worker w){ if ( == name && w.salary == salary && w.age == age){ return true; }else return false; } } public class TestWorker{ public static void main(String args[]){
1) return 0; 2) int result = 0; if (name != null) result = name.hashCode(); return result + age; 3) return super.hashCode(); 现在要把 Worker 类放入 HashSet 中,并希望在 HashSet 中没有重复元素,则下面说法正 确的是:
}
} class Worker implements Comparable<Worker>{
String name; int age; double salary; public Worker(){} public Worker(String name, int age, double salary){ = name; this.age = age; this.salary = salary; }
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<list.size(); i++){ System.out.println(list.get(i)); } } }
相关文档
最新文档