]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.runtime/src/org/simantics/scl/runtime/Lists.java
New method to Prelude: indexSet
[simantics/platform.git] / bundles / org.simantics.scl.runtime / src / org / simantics / scl / runtime / Lists.java
index 5259ce6315a38b5b9b1ab64f94ce452cb82930ca..99c19d6b951cbe26c140d13b3ed8dcbc2aefbf06 100644 (file)
@@ -240,7 +240,19 @@ public class Lists {
             }
         };
     }
-    
+
+    public static Function indexSet(List<Object> l) {
+        THashSet set = new THashSet(l.size());
+        for(Object obj : l)
+            set.add(obj);
+        return new FunctionImpl1<Object,Object>() {
+            @Override
+            public Object apply(Object p0) {
+                return set.contains(p0);
+            }
+        };
+    }
+
     public static Function indexBy(Function f, List l) {
         THashMap map = new THashMap(l.size());
         for(Object o : l)