public <K extends NativeObject, V extends NativeObject> Map<K, V> asMap(Class<K> keyType, Class<V> valueType) { Map<K, V> map = new HashMap<>(); VoidPtr.VoidPtrPtr keys = new VoidPtr.VoidPtrPtr(); VoidPtr.VoidPtrPtr values = new VoidPtr.VoidPtrPtr(); getKeysAndValues(keys, values); VoidPtr kp = keys.get(); VoidPtr vp = values.get(); map.put(kp.as(keyType), vp.as(valueType)); for (long i = 1, n = size(); i < n; i++) { VoidPtr k = kp.next(); VoidPtr v = vp.next(); map.put(k.as(keyType), v.as(valueType)); } return map; } public <V extends NativeObject> Map<String, V> asStringMap(Class<V> valueType) {
public <K extends NativeObject, V extends NativeObject> Map<K, V> asMap(Class<K> keyType, Class<V> valueType) { Map<K, V> map = new HashMap<>(); VoidPtr.VoidPtrPtr keys = new VoidPtr.VoidPtrPtr(); VoidPtr.VoidPtrPtr values = new VoidPtr.VoidPtrPtr(); getKeysAndValues(keys, values); VoidPtr kp = keys.get(); VoidPtr vp = values.get(); map.put(kp.as(keyType), vp.as(valueType)); for (long i = 1, n = size(); i < n; i++) { VoidPtr k = kp.next(); VoidPtr v = vp.next(); map.put(k.as(keyType), v.as(valueType)); } return map; } public <V extends NativeObject> Map<String, V> asStringMap(Class<V> valueType) {
public <K extends NativeObject, V extends NativeObject> Map<K, V> asMap(Class<K> keyType, Class<V> valueType) { Map<K, V> map = new HashMap<>(); VoidPtr.VoidPtrPtr keys = new VoidPtr.VoidPtrPtr(); VoidPtr.VoidPtrPtr values = new VoidPtr.VoidPtrPtr(); getKeysAndValues(keys, values); VoidPtr kp = keys.get(); VoidPtr vp = values.get(); map.put(kp.as(keyType), vp.as(valueType)); for (long i = 1, n = size(); i < n; i++) { VoidPtr k = kp.next(); VoidPtr v = vp.next(); map.put(k.as(keyType), v.as(valueType)); } return map; } public <V extends NativeObject> Map<String, V> asStringMap(Class<V> valueType) {