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

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

难度级别: 中级

程序

程序一


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



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


image.png


输出及解析

程序一输出

答案

(C)

说明

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


程序二输出

答案

(C)

说明

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


程序三输出

答案

(d)

说明

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


程序四答案

回答 :

(b)

说明

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


程序五答案

回答 :

(d)

说明:

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


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


目录
相关文章
|
2月前
|
存储 Java
深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。
【10月更文挑战第16天】本文深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。HashSet基于哈希表实现,添加元素时根据哈希值分布,遍历时顺序不可预测;而TreeSet利用红黑树结构,按自然顺序或自定义顺序存储元素,确保遍历时有序输出。文章还提供了示例代码,帮助读者更好地理解这两种集合类型的使用场景和内部机制。
46 3
|
2月前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
36 2
|
6天前
|
存储 缓存 安全
Java 集合江湖:底层数据结构的大揭秘!
小米是一位热爱技术分享的程序员,本文详细解析了Java面试中常见的List、Set、Map的区别。不仅介绍了它们的基本特性和实现类,还深入探讨了各自的使用场景和面试技巧,帮助读者更好地理解和应对相关问题。
26 5
|
19天前
|
存储 缓存 安全
Java 集合框架优化:从基础到高级应用
《Java集合框架优化:从基础到高级应用》深入解析Java集合框架的核心原理与优化技巧,涵盖列表、集合、映射等常用数据结构,结合实际案例,指导开发者高效使用和优化Java集合。
30 4
|
29天前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
62 1
|
1月前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
30 2
|
1月前
|
存储 Java
判断一个元素是否在 Java 中的 Set 集合中
【10月更文挑战第30天】使用`contains()`方法可以方便快捷地判断一个元素是否在Java中的`Set`集合中,但对于自定义对象,需要注意重写`equals()`方法以确保正确的判断结果,同时根据具体的性能需求选择合适的`Set`实现类。
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
|
1月前
|
Java 开发者