java集合框架练习题

余年寄山水
599次浏览
2021年01月19日 12:00
最佳经验
本文由作者推荐

-元曲大全

2021年1月19日发(作者:纪仙)
精品文档


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

-元曲大全


-元曲大全


-元曲大全


-元曲大全


-元曲大全


-元曲大全


-元曲大全


-元曲大全