Libraryless. Click here for Pure Java version (51L/1K).
sclass UniqueList<A> extends RandomAccessAbstractList<A> { new L<A> list; new Map<A, Int> index; // position of each element public A get(int i) { ret list.get(i); } public int size() { ret list.size(); } // couldn't come up with a better name here... add element or // get its index if it's already there int addOrGetIndex(A a) { Int i = index.get(a); if (i == null) { index.put(a, i = size()); list.add(a); } ret i; } public bool add(A a) { int n = size(); ret addOrGetIndex(a) == n; } }
download show line numbers debug dex old transpilations
Travelled to 7 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt, xrpafgyirdlv
No comments. add comment
Snippet ID: | #1029067 |
Snippet name: | UniqueList - list where each element appears only once [mixture of ArrayList and LinkedHashSet] |
Eternal ID of this version: | #1029067/4 |
Text MD5: | 3bfe23a6d6a0749311a98e0dec77082f |
Transpilation MD5: | 2ceb0355fd50cd3aef3d0fe8e32283af |
Author: | stefan |
Category: | javax |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2020-07-18 23:17:28 |
Source code size: | 576 bytes / 23 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 277 / 569 |
Version history: | 3 change(s) |
Referenced in: | #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |