编写一个应用程序,在主类Test1类中,创建两个链表List<E>对象,分别存储通过键盘输入的字符串内容

简介: 编写一个应用程序,在主类Test1类中,创建两个链表List<E>对象,分别存储通过键盘输入的字符串内容

题目1:编写一个应用程序,在主类Test1类中,创建两个链表List对象,分别存储通过键盘输入的字符串内容

——“chen”,“wang”,“liu”,“zhang”和“chen”,“hu”,“zhang”

(假定输入的内容在各自的链表中没有重复的),输出显示这两个链表List对象并集的结果。

import java.util.*;
public class Test1 {
    public static void main(String args[]) {
        getList();
    }
    private static void getList() {
        LinkedList<String> List1 = new LinkedList<String>();
        LinkedList<String> List2 = new LinkedList<String>();
        List<String> unionList = new ArrayList<String>();
        try {
            Scanner reader = new Scanner(System.in);
            System.out.println("please input list1: ");
            String a = reader.nextLine();
            String b = reader.nextLine();
            String c = reader.nextLine();
            String d = reader.nextLine();
            List1.add(a);
            List1.add(b);
            List1.add(c);
            List1.add(d);
            System.out.println("please input list2: ");
            String q = reader.nextLine();
            String w = reader.nextLine();
            String e = reader.nextLine();
            List2.add(q);
            List2.add(w);
            List2.add(e);
            // 获取去重并集
            unionList = receiveUnionList(List1, List2);
            Iterator<String> unionIterator = unionList.iterator();
            System.out.println("Union: ");
            while (unionIterator.hasNext()) {
                System.out.println(unionIterator.next());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static List<String> receiveUnionList(List<String> List1, List<String> List2) {
        List<String> resultList = new ArrayList<String>();
        Set<String> firstSet = new TreeSet<String>(List1);
        for (String id : List2) {
            firstSet.add(id);
        }
        resultList = new ArrayList<String>(firstSet);
        return resultList;
    }
}

运行结果:

相关文章
|
1月前
|
JSON 前端开发 JavaScript
json字符串如何转为list对象?
json字符串如何转为list对象?
238 7
|
3月前
|
TensorFlow 算法框架/工具 Python
从numpy,list对象创建
【8月更文挑战第12天】从numpy,list对象创建。
26 8
|
3月前
|
SQL 关系型数据库 MySQL
INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
【8月更文挑战第7天】INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
44 5
|
3月前
|
BI
【Azure Power BI】Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串
【Azure Power BI】Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串
|
4月前
|
存储 C++
C++的list-map链表与映射表
```markdown C++ 中的`list`和`map`提供链表和映射表功能。`list`是双向链表,支持头尾插入删除(`push_front/push_back/pop_front/pop_back`),迭代器遍历及任意位置插入删除。`map`是键值对集合,自动按键排序,支持直接通过键来添加、修改和删除元素。两者均能使用范围for循环遍历,`map`的`count`函数用于统计键值出现次数。 ```
|
5月前
|
存储 C++
C++的list-map链表与映射表
这篇教程介绍了C++中`list`链表和`map`映射表的基本使用。`list`链表可通过`push_front()`、`push_back()`、`pop_front()`和`pop_back()`进行元素的添加和删除,使用迭代器遍历并支持在任意位置插入或删除元素。`map`是一个键值对的集合,元素自动按键值排序,可使用下标操作符或`insert()`函数插入元素,通过迭代器遍历并修改键值对,同时提供`count()`方法统计键值出现次数。教程中包含多个示例代码以帮助理解和学习。
|
5月前
|
Java
Java list中的对象转为list,list中的对象转为map
Java list中的对象转为list,list中的对象转为map
114 1
|
4月前
|
存储 语音技术 Python
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
语音识别,函数综合案例,黑马ATM,/t/t一个对不齐,用两个/t,数据容器入门,数据容器可以分为列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)
|
5月前
|
BI
Power BI获取SharePoint List列表后,如何展开List/Table中的字段,以及使用逗号拼接为一个字符串
在Power BI中,从SharePoint List获取数据时遇到Table和List混合的数据源,直接展开会导致“笛卡尔积”效应,生成过多行。目标是保持行数不变,将Table中的字段与List值用逗号分隔显示在同一行。解决方法包括:1) 添加新列,从Table中提取List的Column2值;2) 使用Text.Combine函数合并List中的值。具体操作步骤包括选择列并自定义新列,然后展开List并以逗号分隔。通过这些步骤,可以将Table转换为所需的字符串格式。完整的Power BI Query代码展示了这一过程。参考链接提供了更多详情。
|
5月前
|
存储 算法 Java
List的魔法:如何在Java中实现高效有序存储
【6月更文挑战第17天】在Java中,List接口(如ArrayList和LinkedList)实现有序存储,便于高效检索和排序。ArrayList适合索引访问,而LinkedList擅长插入删除。Collections.sort()和Java 8的Stream API能进一步优化排序和操作。优先队列或平衡二叉搜索树等数据结构在特定场景下也能提升有序存储效率。
175 0