难度级别: 中级
程序
程序一
1) 以下程序的输出是什么?
import java.util.*; public class priorityQueue { public static void main(String[] args) { PriorityQueue<Integer> queue = new PriorityQueue<>(); queue.add(11); queue.add(10); queue.add(22); queue.add(5); queue.add(12); queue.add(2); while (queue.isEmpty() == false) System.out.printf("%d ", queue.remove()); System.out.println("\n"); } }
a) 11 10 22 5 12 2
b) 2 12 5 22 10 11
c) 2 5 10 11 12 22
d) 22 12 11 10 5 2
程序二
2) 以下程序的输出是什么?
import java.util.*; public class Treeset { public static void main(String[] args) { TreeSet<String> treeSet = new TreeSet<>(); treeSet.add("juejin"); treeSet.add("For"); treeSet.add("juejin"); treeSet.add("juejinforjuejin"); for (String temp : treeSet) System.out.printf(temp + " "); System.out.println("\n"); } }
a) juejin For juejin juejinforjuejin
b) juejin For juejin for juejin
c) For juejin juejinforjuejin
d) For juejinforjuejin juejin
程序三
3) 以下程序的输出是什么?
import java.util.*; public class linkedList { public static void main(String[] args) { List<String> list1 = new LinkedList<>(); list1.add("Juejin"); list1.add("For"); list1.add("Juejin"); list1.add("JFJ"); list1.add("JuejinforJuejin"); List<String> list2 = new LinkedList<>(); list2.add("Juejin"); list1.removeAll(list2); for (String temp : list1) System.out.printf(temp + " "); System.out.println(); } }
a) For Juejin JFJ JuejinforJuejin
b) For JuejinforJuejin JFJ
c) For JFJ for
d) For JFJ JuejinforJuejin
程序四
4) 以下程序的输出是什么?
import java.util.*; public class hashSet { public static void main(String[] args) { HashSet<String> hashSet = new HashSet<>(); hashSet.add("Juejin"); hashSet.add("For"); hashSet.add("Juejin"); hashSet.add("JuejinforJuejin"); System.out.println(hashSet); } }
a) [Juejin, For, Juejin, JuejinforJuejin]
b) [JuejinforJuejin, Juejin, For]
程序五
5) 以下程序的输出是什么?
import java.util.*; public class stack { public static void main(String[] args) { List<String> list = new LinkedList<>(); list.add("Juejin"); list.add("For"); list.add("Juejin"); list.add("JuejinforJuejin"); Iterator<Integer> iter = list.iterator(); while (iter.hasNext()) System.out.printf(iter.next() + " "); System.out.println(); } }
a) Juejin for Juejin JuejinforJuejin
b) JuejinforJuejin Juejin for Juejin
c) 运行时错误
d) 编译错误
文章后半部分是程序的输出及解析
输出及解析
程序一输出
答案:
(C)
说明:
当remove()方法被调用时,优先队列总是从队列中输出最小的元素,不管输入的顺序是什么。
程序二输出
答案:
(C)
说明:
TreeSet 按升序对插入其中的数据进行排序。因此,输出字符串包含按升序排列的所有字符串。TreeSet 不包含任何重复元素,因为它是一个集合。所以在输出中,只出现了一次字符串“Juejin”。
程序三输出
答案:
(d)
说明:
list1.removeAll(list2) 函数从list1 中删除list2 中所有出现的字符串。这里,字符串'Juejin'出现在list2中,所以list1中包含'Juejin'作为其数据的链表的所有节点都从list1中删除。
程序四答案
回答 :
(b)
说明:
HashSet 是一个集合,由于集合不包含任何重复元素,因此字符串 'Juejin' 在输出中仅出现一次。
程序五答案
回答 :
(d)
说明:
用于迭代 Integer 的迭代器不能用于迭代 String 数据类型。
以上就是本篇文章的所有内容了