java集合框架练习题
余年寄山水
599次浏览
2021年01月19日 12:00
最佳经验
本文由作者推荐
-元曲大全
精品文档
java
集合框架练习题
集合框架
Key Point
* Collection
接口、
Set
接口、
List
接口基本操作
* List
接口及其实现类
* Set
接口及其实现类
*
迭代遍历
* Hash
算法与
hashCode
方法
* Comparable
接口
* Map
接口及其实现类
*
遍历
Map
*
泛型
练习
1.
填空
Collection
接口的特点是元素是对象;
List
接口的特点是元素有顺序,可以重复;
Set
接口的特点是元素无顺序,不可以重复;
Map
接口的特点是元素是键值对,其中值可以重复,
键不可以重复。
2.
有如下代码
import .*;
public class TestList{
2016
全新精品资料
-
全新公文范文
-
全程指导写作
–
独家原创
1
/
16
精品文档
public static void main{
List list = new ArrayList;
;
printList;
}
public static void printList{
for{
String str=obj;
n;
}
}
}
要求:
1)
把
//1
处的代码补充完整,要求输出
list
中所有
元素的内容
2)
写出程序执行的结果
Hello java Learn World
3)
如果要把实现类由
ArrayList
换为
LinkedList
,
应该改哪里?
ArrayList
和
LinkedList
使用
上
有什
么
区别
?
实现
上
有什
么区
2016
全新 精品资料
-
全新公文范文
-
全程指导写作
–
独家原创
2
/
16
精品文档
别?
把实例化的语句改为
new LinkedList;
ArrayList
数组实现查询快
增删慢
LinkedList
链表实现查询慢
增删快
4)
如果要把实现类由
ArrayList
换为
Vector
,应该
改哪里?
ArrayList
和
Vector
使
用上有什么区别?实现
上有什么区别?
ArrayList< br>是线程不同步的,
轻量级的,
线程不安全,
速度快
Vector
是线程同步的
,
多线程访问比较安全,
速度慢
3.
写出下面程序的运行结果
import .*;
public class TestList{
public static void main{
List list = new ArrayList;
;
;
for; i++){
2016
全新精品资料
-
全 新公文范文
-
全程指导写作
–
独家原创
3
/
16
精品文档
n);
}
}
}
Hello
Learn
4.
import .*;
public class TestListSet{
public static void main{
List list = new ArrayList;
;
Set set = new HashSet;
n);
}
}
选择正确答案
A
.
编译不通过
2016
全新精品资料
-
全新公文范文
4
/
16
-
全程指导写作
–
独家原创
精品文档
B
.
编译通过,运行时异常
C
.
编译运行都正常,
//
输出
HashSet
中不能放重复
值
D
.
编译运行都正常,输出
4
5.
已知有一个
Worker
类如下:
public class Worker {
private int age;
private String name;
private double salary;
public Worker {}
public Worker {
= name;
= age;
= salary;
}
public int getAge {
return age;
}
public void setAge {
= age;
}
public String getName {
2016
全新精品资 料
-
全新公文范文
-
全程指导写作
5
/
16
–
独家原创
精品文档
return name;
}
public void setName {
= name;
}
public double getSalary{
return salary;
}
public void setSalary{
= salary;
}
public void work{
n;
}
}
完成下面的要求
1)
创建一个
List
,在
List
息如下:
姓名
年龄
工资
zhang18000
li25500
wang22200
2016
全新精品资料
全新公文范文
-
全程指导写作
6
/
16
中增加三个工人,基本信
-
–
独家原创
精品文档
2)
在
li
之前插入一个工人,信 息为:姓名:
zhao6
,
年龄:
24
,工资
3300
3)
删除
wang
的信息
4)
利用
for
循环遍历,打印
List
中所有工人的信息
5)
利用迭代遍历,
对
List
中所有的工人调用
work
方
法。
6)
为
Worker
类添加
equals
方法
6.
为上一题的
Worker
类,在添加完
equals
方法的
基础上,添加一个
hashCode
方法。
public int hashCode{
//1
}
有几种写法:
1
)
return 0;
2
)
int result = 0;
if result = de;
return result + age;
3
)
return de;
现
在
要
把
Worker
类
放
入
HashSet
中
,
并
希
望
在
HashSet
中没有重复元素,则下面说法正
确的是:
A.
三种写法都正确
2016
全新精品资料
-
全新公文范文< br>-
全程指导写作
–
独家原创
7
/
16
精品文档
B. 1),)
写法正确,
2)
效率更高
C.)
写法正确,
1),3)
写法都不正确
7.
代码改错
import .*;
class Worker{
String name;
int age;
double salary;
public Worker{}
public Worker{
= name;
= age;
= salary;
}
public
int
hashCode{//hashCode
必须声明为公共的。
return
;//
返回值类型为整形在前面的
Worker
类基础
上,为
Worker
类增加相应的方法,使得
Worker
放入
HashSet
中时,
Set
中没有重复元素。
并编写相应的测试代码。
class Worker{
String name;
int age;
2016
全新精品资料
-
全新公文范文
-
全程指 导写作
–
独家原创
8
/
16