for循环一个int数组,如何把List<String>里的每一个图片地址添加到对应的Int数组里面
0,/sdcard/2015/2012.jpg
1, /sdcard/2015/2013.jpg
.....
8, /sdcard/2015/2020.jpg
然后想循环一个int[] 1~9的数组出来,比如
I= 1
for (....)
......
然后我想让循环出来的i添加mimg中对应position位置,如:
i=1=mimg.position(0)
i=2=mimg.position(1)
i=3=mimg.position(2)
........
i=9=mimg.position(8)
就是想把得到的图片地址mimg 通过 for循环出个int数组,使每一个数字对应 图片地址mimg中的每一个position, 然后写入imageView时用这个Int数组来代替img,可以这样实现吗?请问 展开
不是很明白你的意思,如果纯粹想用数字代替img是不可能的,不是一种数据类型,如果只是为了做索引排序的话可以考虑可以考虑使用map<int, String>啊,不知道你是什么语言,
C++可以使用map<int, String> kv
kv.insert(pair<int, String>(1,mimg.position(0)));
kv.insert(pair<int, String>(2,mimg.position(1)));
kv.insert(pair<int, String>(3,mimg.position(2)));
... ...
kv.insert(pair<int, String>(9,mimg.position(8)));
使用的时候就是
String str = kv.find(1)->second
str = kv.find(2)->second
... ...
2.C#可以是Dictionary<int, String> kv
kv.Add(1, mimg.position(0));
kv.Add(2, mimg.position(1));
kv.Add(3 mimg.position(2));
... ...
kv.Add(9, mimg.position(8));
使用的时候就是
String str = kv[1] ;
str = kv[2] ;
... ...
3.Java可以是HashMap<int, String> kv
kv.put(1, mimg.position(0));
kv.put(2, mimg.position(1));
kv.put(3 mimg.position(2));
... ...
kv.put(9, mimg.position(8));
使用的时候就是
String str = kv.get(1) ;
str = kv.get(2);
... ...
4.C语言就比较复杂了,需要结构体,还要写插入获取方法,当然,也可以取巧。
char* indexs[0];
int count;
memset(indexs, 0, sizeof(indexs));
for(count = 0; count < 9; count++)
{
indexs[count ] = xxx xxx;
}
然后使用的时候 char* str = indexs[1]; 这种方法索引也是从0开始,但与list的差别是list排序是按它的方法,这个可以按照自己的意思重新排,比如indexs[0]可以对应list中第3个图片路径。
public static void getPictuer(){
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(1, "sdcard/2015/2012.jpg");
map.put(2, "sdcard/2015/2022.jpg");
String str= map.get(1);
System.out.println(str);
}