Java 集合面试题
1) 以下程序的输出是什么?
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
答案:(c)
解释: 当remove()方法被调用时,优先级队列总是从队列中输出最小的元素,无论输入的序列是什么。
2) 以下程序的输出是什么 ?
a) Geeks For Geeks GeeksforGeeks
b) Geeks For Geeks for Geeks
c) For Geeks GeeksforGeeks
d) For GeeksforGeeks Geeks
答案:(c)
解释: TreeSet按照升序对插入的数据进行排序。因此,输出的字符串包含所有按升序排列的字符串。TreeSet不包含任何重复的元素,因为它是一个集合。所以在输出中,只有一个字符串’Geeks’出现 。
3) 以下程序的输出是什么 ?
a) For Geeks GFG GeeksforGeeks
b) For GeeksforGeeks GFG
c) For GFG for
d) For GFG GeeksforGeeks
答案:(d)
解释: list1.removeAll(list2)函数从list1中删除list2中出现的所有字符串。这里,字符串’Geeks’出现在list2中,所以list1中所有包含’Geeks’数据的链接列表节点都被从list1中删除。
4) 给出的选项中,哪个是可能的输出 ?
a) [Geeks, For, Geeks, GeeksforGeeks]
b) [GeeksforGeeks, Geeks, For]
答案:(b)
解释: HashSet是一个集合,由于一个集合不包含任何重复的元素,因此,字符串’Geeks’在输出中只出现一次。
5) 以下程序的输出是什么 ?
a) Geeks for Geeks GeeksforGeeks
b) GeeksforGeeks Geeks for Geeks
c) Runtime Error
d) Compilation Error
答案:(d)
解释: 用于迭代Integer的迭代器不能用于迭代String数据类型。更正后的程序:https://ide.geeksforgeeks.org/DgeN0P