JAVA_头歌_集合框架(答案)

1.第一关

1、

 List、Set、Map 之间的区别是什么?


A、【对】
List 是一组形如< Value >的元素集合,内部元素允许重复、有顺序。
Set 是一组形如< Value >的元素集合,内部元素不允许重复、无顺序。
Map 是一组形如<Key, Value>的键值映射关系,Key 不允许重复、无顺序。


B、【错】
List 是一组形如< Value >的元素集合,内部元素不允许重复、无顺序。
Set 是一组形如< Value >的元素集合,内部元素不允许重复、无顺序。
Map 是一组形如<Key, Value>的键值映射关系,Key 不允许重复、无顺序。


C、【错】
List 是一组形如< Value >的元素集合,内部元素允许重复、有顺序。
Set 是一组形如< Value >的元素集合,内部元素不允许重复、无顺序。
Map 是一组形如<Key, Value>的键值映射关系,Key 允许重复、有顺序。


D、【对】
List 是一组形如< Value >的元素集合,内部元素允许重复、有顺序。
Set 是一组形如< Value >的元素集合,内部元素允许重复、有顺序。
Map 是一组形如<Key, Value>的键值映射关系,Key 不允许重复、无顺序。

2、

Collection 和 Collections 有什么区别?
java.util.Collection 是一个▁▁▁,是所有集合类的一个▁▁▁。
java.util.Collections 是一个▁▁▁,是所有集合类的一个▁▁▁。

填空1答案:
接口

填空2答案:
顶级接口

填空3答案:
类

填空4答案:
工具类/帮助类

3、

ArrayList 和 LinkedList 的区别是什么?
ArrrayList 底层是▁▁▁,支持▁▁▁。LinkedList 底层是▁▁▁,不支持▁▁▁。

填空1答案:
数组

填空2答案:
随机访问

填空3答案:
双向链表

填空4答案:
随机访问

2.第二关

package step1;
import java.util.*;
public class StringEncryptor {
    public static final String text1 = "abcdefghijklmnopqrstuvwxyz ";
    public static final String text2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
    public static final String code = "veknohzf iljxdmygbrcswqupta";
    
    public static String encode1(String s){
        /******** Begin ********/
        Hashtable codeBook = new Hashtable();
        for(int i = 0;i<text1.length();i++){
            codeBook.put(text1.charAt(i),code.charAt(i));
        }
        
        String codeOfS = "";
        for(int i=0;i<s.length();i++){
            Character tempLetter = Character.toLowerCase(s.charAt(i));
            codeOfS = codeOfS.concat(String.valueOf(codeBook.get(tempLetter)));
        }
        return codeOfS;
        /********  End  ********/
    }
    
    public static String decode1(String s){
        /******** Begin ********/
        Hashtable decodeBook = new Hashtable();
        for(int i = 0;i<text1.length();i++){
            decodeBook.put(code.charAt(i),text1.charAt(i));
        }
         String codeOfS = "";
        for(int i=0;i<s.length();i++){
            Character tempLetter = s.charAt(i);
            codeOfS = codeOfS.concat(String.valueOf(decodeBook.get(tempLetter)));
        }
        return codeOfS;
        /********  End  ********/
    }
    
    public static void main(String[] args) {
        String s = "We will break out of prison at dawn";
        String code1 = encode1(s);
        String decode1 = decode1(code1);
        System.out.println("Original text: " + s);
        System.out.println("Code1 text    : " + code1);
        System.out.println("Decode1 text  : " + decode1);
        System.out.println();
        
        
        
    }
}
 

3.第三关

package step2;
import java.util.*;
public class TestDeal {
    public static void printArray(ArrayList dealArray){
        for(int i=0;i<dealArray.size();i++){
            Deal aDeal = (Deal)dealArray.get(i);
            System.out.println(aDeal.toPlainText());
        }
    }
    public static void main(String[] args) {
        ArrayList dealArray = new ArrayList();
        Deal []  myDealArray = new Deal[10];
        Deal [] myDealArray1 = null;
        Deal [] myDealArray2 = null;
        int [] dayOfMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
        for (int i = 0; i < 10; i++) {
            int n = i%3;
            switch (n) {
                case 0:
                    myDealArray[i] = new NormalDeal(2021, 12, 03, 220, "");
                    break;
                case 1:
                    myDealArray[i] = new StockDeal(2022, 10, 28, 110, "");
                    break;
                case 2:
                    myDealArray[i] = new TransferDeal(2023, 07, 12, 530, "");
            }
            dealArray.add(myDealArray[i]);
        }
        System.out.println("The origin array is: ");
        printArray(dealArray);
        System.out.println("---------------------------------");
        /******** Begin ********/
        Iterator dealIterator = dealArray.iterator();  // Iterator 遍历输出
        while(dealIterator.hasNext()){
            Deal aDeal = (Deal)dealIterator.next();
            System.out.println(aDeal.toPlainText());
        }
        /********  End  ********/
        System.out.println("---------------------------------");
        dealIterator = null;
        /******** Begin ********/
        dealIterator = dealArray.iterator();  // Iterator 遍历删除
        while(dealIterator.hasNext()){
            Deal aDeal = (Deal)dealIterator.next();
            if(aDeal.amount<500){
                dealIterator.remove();
            }
        }
        /********  End  ********/
        
        dealIterator = null;
        /******** Begin ********/
        dealIterator = dealArray.iterator();  // Iterator 遍历输出
        while(dealIterator.hasNext()){
            Deal aDeal = (Deal)dealIterator.next();
            System.out.println(aDeal.toPlainText());
        }
        /********  End  ********/
     }
}

4.第四关

package step3;
import java.util.*;
public class RandomGenerator {
    public static void main(String[] args) {
        /******** Begin ********/
        TreeSet randomTree = new TreeSet();
        Random myRandom = new Random(20);
        
        for(int i=0;i<80;i++){
            int number = myRandom.nextInt(100);
            randomTree.add(number);
        }
        int amount = randomTree.size();
        System.out.println("The amount of different randomNumber is: "+amount);
        System.out.println("The numbers are:(decending ordered and have" +
                " no repeat)");
        Iterator number = randomTree.iterator();
        int count = 1;
        while(number.hasNext()){
            if((count++)%10==0){
                System.out.println();
            }
            System.out.print(number.next()+"   ");
        }
        System.out.println();
        /********  End  ********/
    }
}
 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值