gpt4 book ai didi

java - android 中两个键一个值

转载 作者:行者123 更新时间:2023-12-01 15:43:56 24 4
gpt4 key购买 nike

如何实现以下数据?

somelisttype <int>obj ;

obj 0,0 => val0
obj 0,1 => val1
obj 0,2 => val2
obj 1,0 => val8
obj 2,0 => val9
obj 2,1 => val10

0,0; 0,1 是键(或者以其他方式表示行索引或列索引。)

我想要以下功能..

obj 0.add(val11) == obj 0,3 => val11
obj 3.add(val12) == obj 3,0 => val12

obj 2.length => 2
obj 3.length => 1

obj 0,2 => val2

ValXX => 是值而不是对象(将是整数)

我不想创建二维数组,因为我不知道总 obj 或单个 obj0,obj1 的长度

在android中可以使用什么变量类型?

最佳答案

什么是List<List<Integer>>

您无法避免泛型类型成为此处的对象,但由于从 Integer 进行强制转换至int是隐含的,您会看到使用中的任何差异。

更新

好的,这里是:

MyList l = new MyList();
l.set(0, 0, 1);
l.set(1, 0, 2);
l.set(1, 1, 3);

Log.d("TAG", l.get(0, 0) + " " + l.get(1, 0) + " " + l.get(1, 1));

这里是实现(当然你必须确保使用的索引是正确的,所以当尚未设置0时你不能添加索引1):

class MyList {

private List<List<Integer>> mList = new ArrayList<List<Integer>>();

public void set(int i, int k, int value) {
List<Integer> list;

if (i == mList.size()) {
list = new ArrayList<Integer>();
mList.add(i, list);
} else {
list = mList.get(i);
}

if (k == list.size()) {
list.add(value);
} else {
list.set(k, value);
}
}

public int get(int i, int k) {
return mList.get(i).get(k);
}
}

关于java - android 中两个键一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7512410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com