#7 QuotientTreeMap: multivalue

已關閉
msieron6 年之前創建 · 1 條評論

MultiValue support is broken. Let's image, we put 4 values: List, List, ArrayList, ArrayList

Then we have no idea, what structure will be at the end. Possible options:

 - List
   - List/ArrayList
   - List/ArrayList
 - List
 - List
   - List/ArrayList
 - List
   - List/ArrayList

Anyway, every option is broken if we want to later use values sorted by inheritance.

In effect, if we want to map many values (we want in DynamicInvoker!) then we have to use explicitly QuotientTreeMap<Class, List<?>>. Additionaly, we can't use standard computeIfPresent, because get uses find, not findExact!

MultiValue support is broken. Let's image, we put 4 values: List, List, ArrayList, ArrayList Then we have no idea, what structure will be at the end. Possible options: ``` - List - List/ArrayList - List/ArrayList - List ``` ``` - List - List/ArrayList - List - List/ArrayList ``` Anyway, every option is broken if we want to later use values sorted by inheritance. In effect, if we want to map many values (we want in DynamicInvoker!) then we have to use explicitly `QuotientTreeMap<Class, List<?>>`. Additionaly, we can't use standard `computeIfPresent`, because `get` uses `find`, not `findExact`!
msieron6 年之前 關閉
msieron 評論 6 年之前'
協同者

QuotientMap abstraction is broken in every way, and unusable in DynamicInvoker.

QuotientMap abstraction is broken in every way, and unusable in DynamicInvoker.
ranides 在代碼提交 4 年之前 中引用了該問題
ranides 在代碼提交 4 年之前 中引用了該問題
登入 才能加入這對話。
未選擇里程碑
未指派成員
1 參與者
正在加載...
取消
保存
尚未有任何內容