难度级别: 中级

程序

程序一

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) 编译错误

 


文章后半部分是程序的输出及解析

【Java练习题】Java 程序的输出 | 第十三套(集合)_java程序


输出及解析

程序一输出

答案

(C)
复制代码

说明

当remove()方法被调用时,优先队列总是从队列中输出最小的元素,不管输入的顺序是什么。


程序二输出

答案

(C)
复制代码

说明

TreeSet 按升序对插入其中的数据进行排序。因此,输出字符串包含按升序排列的所有字符串。TreeSet 不包含任何重复元素,因为它是一个集合。所以在输出中,只出现了一次字符串“Juejin”。


程序三输出

答案

(d)
复制代码

说明

list1.removeAll(list2) 函数从list1 中删除list2 中所有出现的字符串。这里,字符串'Juejin'出现在list2中,所以list1中包含'Juejin'作为其数据的链表的所有节点都从list1中删除。


程序四答案

回答 :

(b)
复制代码

说明

HashSet 是一个集合,由于集合不包含任何重复元素,因此字符串 'Juejin' 在输出中仅出现一次。


程序五答案

回答 :

(d)
复制代码

说明:

用于迭代 Integer 的迭代器不能用于迭代 String 数据类型。


以上就是本篇文章的所有内容了