sclass Splitter2<A, B> { HashMap<A, MultiSet<B>> map = new HashMap; // may return null if unknown B get(A a) { MultiSet<B> ms = map.get(a); ret ms == null ? null : ms.getMostPopularEntry(); } void learn(A a, B b) { MultiSet<B> ms = map.get(a); if (ms == null) map.put(a, ms = new MultiSet); ms.add(internIfString(b)); } void unlearn(A a, B b) { MultiSet<B> ms = map.get(a); if (ms == null) ret; ms.remove(b); if (empty(ms)) map.remove(a); } void clear { map.clear(); } }
Began life as a copy of #1009690
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1009691 |
Snippet name: | Splitter2 - sorts things in many categories, collects examples with occurrence count |
Eternal ID of this version: | #1009691/4 |
Text MD5: | c6793c59ecf9a8004a94451cc784351f |
Author: | stefan |
Category: | javax / a.i. |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2017-08-14 17:21:38 |
Source code size: | 557 bytes / 24 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 523 / 1106 |
Version history: | 3 change(s) |
Referenced in: | #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |