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 ********/
}
}