diff options
author | Jon Bratseth <bratseth@oath.com> | 2019-09-09 23:08:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-09 23:08:02 +0200 |
commit | d13f1fb67f314074f91c10965d94695ad3c7eaf6 (patch) | |
tree | 15d4ffa3a93b49cec1a926eaa7daf5a43f56002f /vespajlib | |
parent | 3c8addceb5ef2b7fa04041c98b8c172551ab6290 (diff) | |
parent | dc06b30f6a1861b5c25ae0c2d50865d053ebdffa (diff) |
Merge pull request #10569 from vespa-engine/balder/more-efficient-trim
Removing elements from an array is very costly.
Diffstat (limited to 'vespajlib')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java index e3f73212170..44569471049 100644 --- a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java +++ b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java @@ -3,13 +3,13 @@ package com.yahoo.collections; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.List; /** * An array list which notifies listeners after one or more items are added * * @author bratseth - * @since 5.1.17 */ @SuppressWarnings("serial") public class ListenableArrayList<ITEM> extends ArrayList<ITEM> { @@ -56,6 +56,11 @@ public class ListenableArrayList<ITEM> extends ArrayList<ITEM> { return result; } + public List<Runnable> listeners() { + if (listeners == null) return Collections.emptyList(); + return Collections.unmodifiableList(listeners); + } + /** * Adds a listener which is invoked whenever elements are added to this. * This may not be invoked once for each added element. |