list
1.以下代码的执行结果是?【单项选择题】【简单】
public class Example {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "def";
Stack<String> stack = new Stack<String>();
stack.push(s1);
stack.push(s2);
try {
String s3 = stack.pop() + stack.peek();
System.out.println(s3);
} catch (Exception e) {
// TODO: handle exception
}
}
}
A.abcdef
B.defabc
C.abcabc
D.defdef
答案:B
2.集合中Set接口的特点是【单项选择题】【简单】
A.不允许重复元素,元素有顺序
B.允许重复元素,元素无顺序
C.允许重复元素,元素有顺序
D.不允许重复元素,元素无顺序
答案:D
3. List接口的特点是哪项?【单项选择题】【简单】
A.不允许重复元素,元素有顺序
B.允许重复元素,元素无顺序
C.允许重复元素,元素有顺序
D.不允许重复元素,元素无顺序
答案:C
4. 创建一个只能存放String的泛型ArrayList的语句是哪项【单项选择题】【简单】
A.ArrayList<int> al = new ArrayList<int>();
B.ArrayList<String> al = new ArrayList<String>();
C.ArrayList al = new ArrayList<String>();
D.ArrayList<String> al = new List<String>();
答案:B
5.下列代码执行后的输出是哪项?【单项选择题】【简单】
public class Example {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("1");
al.add("2");
al.add("2");
al.add("3");
System.out.println(al);
}
}
A.[1,2,3]
B.[1,2,3,3]
C.[1,2,2,3]
D.[2,1,3,2]
答案:C
6. 现有:list是一个合法的集合引用,getCollection()返回一个合法集合的引用,以下语句哪些是合法的?【多项选择题】【简单】
A.for(Object o : list)
B.for(Object o : getCollection())
C.for(Object o : list.iterator())
D.for(Iterator I;list.iterator();i.hasNext())
答案:A、B
7. Vector、ArrayList、LinkedList的区别【简答题】【简单】
ArrayList:(1)底层实现是数组,查找快,添加和删除慢。(2)是非线程安全(3)扩容方式:原来数组长度1.5倍 LinkedList:(1)底层使用双链表存储,所以查找慢(LinkedList不能随机访问,从开头或结尾遍历列表),添加和删除快(添加和删除操作快,但是定位目标元素慢)(2)是非线程安全(3)不存在扩容操作 Vector:(1)底层都是由数组实现的(2)同步的,线程相对安全,效率相对较低(3)默认是原来数组长度的2倍 |
8.下列代码的执行结果是?【简答题】【高级】
public class Example {
public static void main(String[] args) {
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
List<Integer> intList = list;
for (int i = 0; i < list.size(); i++) {
System.out.println(intList.get(i));
}
}
}
答案:a b c
9、Collection 接口的特点是元素是 无序可重复 ;
10、List 接口的特点是元素 有 (有|无)顺序, 可以 (可以|不可以)重复;
11、Set 接口的特点是元素 无 (有|无)顺序, 不可以 (可以|不可以)重复;
12、完成如下功能
-
import java.util.LinkedList; public class DogListTest { public static void main(String[] args) { //1.创建集合对象 LinkedList<Dog> linkedList = new LinkedList<>(); //2.创建多个狗狗的对象 Dog d1 = new Dog("小七", "柯基"); Dog d2 = new Dog("小八", "拉布拉多"); Dog d3 = new Dog("小九", "金毛"); Dog d4 = new Dog("小十", "吉娃娃"); //3.把对象添加到集合中 add() linkedList.add(d1); linkedList.add(d2); linkedList.add(d3); linkedList.add(d4); //4.获取狗狗的总数 size() System.out.println("共计有" + linkedList.size() + "条狗狗"); System.out.println("分别是:"); //5.遍历 for (Dog d : linkedList) { System.out.println(d); } //6.删除第一个位置的狗狗 remove(int index) //7.删除指定的狗狗 美美 remove(Object o) System.out.println("第一条狗狗的昵称:" + linkedList.getFirst().getName()); //System.out.println("第一条狗狗的昵称:" + linkedList.get(0).getName()); System.out.println("最后一条狗狗的昵称:" + linkedList.getLast().getName()); //System.out.println("最后一条狗狗的昵称:" + linkedList.get(linkedList.size()-1).getName()); //Dog dogLast=(Dog)linkedList.getLast(); //System.out.println("最后一条狗狗的昵称:"+dogLast.getName()); //8.判断集合中是否包含指定的狗 contains System.out.println("集合中是否包含小八:" + linkedList.contains(d2)); linkedList.remove(d1); linkedList.remove(d4); System.out.println("删除部分狗狗后还有" + linkedList.size() + "条狗狗" + "\n分别是:"); for (Dog dog : linkedList) { System.out.println(dog); } } }