X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fwordcount%2Ftop10%2FRanking.java;h=80e8742bf20e52fbcfff5a09f86a3393ade39fe4;hb=d9586ebebc256a936a73af8249a9326de7170f7a;hp=cc08f4b3301c7fb3eb2eaada2ba3ea8000678c56;hpb=5ece428364118199f8cf89a0521f38aeefbcbf0a;p=demos%2Fkafka%2Fwordcount diff --git a/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java b/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java index cc08f4b..80e8742 100644 --- a/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java +++ b/src/main/java/de/juplo/kafka/wordcount/top10/Ranking.java @@ -7,20 +7,20 @@ import java.util.LinkedList; import java.util.List; -@AllArgsConstructor(staticName = "of") +@AllArgsConstructor(access = AccessLevel.PRIVATE) @NoArgsConstructor @Data public class Ranking { private Entry[] entries = new Entry[0]; - public void add(Entry newEntry) + public Ranking add(Entry newEntry) { if (entries.length == 0) { entries = new Entry[1]; entries[0] = newEntry; - return; + return this; } List list = new LinkedList<>(Arrays.asList(entries)); @@ -29,7 +29,7 @@ public class Ranking Entry entry; entry = list.get(i); - if (entry.getCount() <= newEntry.getCount()) + if (entry.getCounter() <= newEntry.getCounter()) { list.add(i, newEntry); for (int j = i+1; j < list.size(); j++) @@ -46,8 +46,15 @@ public class Ranking list = list.subList(0,10); } entries = list.toArray(num -> new Entry[num]); - return; + return this; } } + + return this; + } + + public static Ranking of(Entry... entries) + { + return new Ranking(entries); } }