#7 QuotientTreeMap: multivalue

Suljettu
6 vuotta sitten avasi msieron · 1 kommenttia
msieron kommentoitu 6 vuotta sitten

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`!
msieron kommentoitu 6 vuotta sitten
Yhteistyökumppani

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

QuotientMap abstraction is broken in every way, and unusable in DynamicInvoker.
ranides viittasi tähän ongelmaan commitissa 4 vuotta sitten
ranides viittasi tähän ongelmaan commitissa 4 vuotta sitten
Kirjaudu sisään osallistuaksesi tähän keskusteluun.
Ei merkkipaalua
Ei osoitettua
1 osallistujaa
Ladataan...
Peruuta
Tallenna
Sisältöä ei vielä ole.