java集合-练习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 填空

Collection 介面の特點是元素是___無序可重複______;

List 介面の特點是元素__有__(有|無)順序,_可以___(可以|不可以)重複;

Set 介面の特點是元素__無___(有|無)順序,____不可以__(可以|不可以)重複;Map 介面の特點是元素是__key、value映射______,其中__value__可以重複,_key___不可以重複。

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){

//1

for(int i = 0; i< list.size();i++){

System.out.println(list.get(i));

}

for(Object o : list) {

System.out.println(o);

}

Iterator itor = list.iterator();

while(itor.hasNext()){

System.out.println(itor.next());

}

}

}

要求:

1) 把//1 處の代碼補充完整,要求輸出list 中所有元素の內容

2) 寫出程式執行の結果Hello Java Learn World

3) 如果要把實現類由ArrayList 換為LinkedList,應該改哪里?ArrayList 和LinkedList 使用上有什麼區別?實現上有什麼區別?

4) 如果要把實現類由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

System.out.println(list.get(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(“Hello”);

list.add(“Welcome”);

Set set = new HashSet();

set.addAll(list);

System.out.println(set.size());

}

}

選擇正確答案 C

A.編譯不通過

B.編譯通過,運行時異常

C.編譯運行都正常,輸出3

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”);

}

}

完成下麵の要求

1) 創建一個List,在List 中增加三個工人,基本資訊如下:

姓名年齡工資

zhang3 18 3000

li4 25 3500

wang5 22 3200

2) 在li4 之前插入一個工人,資訊為:姓名:zhao6,年齡:24,工資3300

3) 刪除wang5 の資訊

4) 利用for 迴圈遍曆,列印List 中所有工人の資訊

5) 利用迭代遍曆,對List 中所有の工人調用work 方法。

6) 為Worker 類重寫equals 方法,當姓名、年齡、工資全部相等時候才返回true

6. (Set,Hash 演算法)為上一題のWorker 類,在添加完equals 方法の基礎上,添加一個

hashCode 方法。

public int hashCode(){

//1

}

相关文档
最新文档