From 9f99de7c9ee61c8224b0291d90bfd821ece45aa4 Mon Sep 17 00:00:00 2001 From: Oliver Akins Date: Thu, 8 Dec 2022 21:52:11 -0600 Subject: [PATCH] Implement a Sequence object in jlib --- jlib/Sequence.java | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 jlib/Sequence.java diff --git a/jlib/Sequence.java b/jlib/Sequence.java new file mode 100644 index 0000000..6b2cd95 --- /dev/null +++ b/jlib/Sequence.java @@ -0,0 +1,33 @@ +package jlib; + +import java.util.HashSet; +import java.util.LinkedList; + +public class Sequence { + private LinkedList previous; + private Integer max; + + public Sequence(Integer size) { + this.max = size; + this.previous = new LinkedList(); + } + + public void add(T e) { + if (this.previous.size() == this.max) { + this.previous.pop(); + } + this.previous.add(e); + } + + public Integer size() { + return this.previous.size(); + } + + public Boolean isUnique() { + HashSet s = new HashSet<>(); + for (T e : this.previous) { + s.add(e); + } + return s.size() == this.max; + } +}