小编Sur*_*say的帖子

Java 8 集合最大大小和计数

我有一个像下面这样的课程。

class Student {
    public Student(Set<String> seminars) {
        this.seminar = seminars;
    }
    Set<String> seminar;
    public Set<String> getSeminar()
    {
        return seminar;
    }
}
Run Code Online (Sandbox Code Playgroud)

并创建了一组如下所示的学生。

List<Student> students = new ArrayList<Student>();
Set<String> seminars = new HashSet<String>();

seminars.add("SeminarA");
seminars.add("SeminarB");
seminars.add("SeminarC");

students.add(new Student(seminars)); //Student 1 - 3 seminars
students.add(new Student(seminars)); //Student 2 - 3 seminars

seminars = new HashSet<String>();
seminars.add("SeminarA");
seminars.add("SeminarB");

students.add(new Student(seminars)); //Student 3 - 2 seminars

seminars = new HashSet<String>();
students.add(new Student(seminars)); //Student 4 - 0 seminars
Run Code Online (Sandbox Code Playgroud)

现在的问题是“我正在尝试获取参加过最多研讨会的学生人数”,正如您所看到的,有 2 名学生参加了 3 场(最多)研讨会,所以我需要获得该人数。

我使用流使用 …

java-8 java-stream

4
推荐指数
1
解决办法
7154
查看次数

Java 单链表添加复杂度为 O(1)

我正在尝试了解 LinkedLists(准确地说是单个 LinkedList)。

我听说/读到删除和添加操作将以 O(1) 复杂度执行,但我仍然不知道如何以 O(1) 复杂度实现这两个操作。下面是我在 java 中的实现(注意:我不知道 c、c++ 编码,所以我最近开始了解数据结构)。

public class Node
{
    private Integer data    = null;
    private Node    next    = null;
    private int     size    = 0;

    public Node()
    {

    }

    private Node(Integer data)
    {
        this.data = data;
    }

    public boolean add(Integer data)
    {
        if (null == data) return false;
        if (null == this.data)
        {
            this.data = data;
        }
        else
        {
            if (null == this.next)
            {
                this.next = new Node(data);
            }
            else
            {
                this.next.add(data);
            }
        } …
Run Code Online (Sandbox Code Playgroud)

java data-structures singly-linked-list

1
推荐指数
1
解决办法
1289
查看次数