如何在Android JAVA上将数组元素移动到特定位置。 我们有
int oldPosition, int newPosition
和某些人一样
JSONObject[] tmp = new JSONObject[999];
JSONObjects
答案 0 :(得分:0)
如果你想移动
tmp[newPosition]=tmp[oldPosition];
交换
JSONObject jo= tmp[oldPosition];
tmp[oldPosition]=tmp[newPosition];
tmp[newPosition]=jo;
答案 1 :(得分:0)
编辑:还有其他方法,但您也可以通过此方式获取结果:)
练习:您可以理解这种逻辑并使用{{1}}类型并进行必要的更改,注意JSONObject
,处理我懒得做的所有事情
假设你有int数组 - > NullPointerExceptions
private int array[];
如果要交换元素,请调用此方法
array = new int[]{10,20,30,40,50,60,70,80,90,100};
swapNumbers(array,9,1);
out put:array [10, 100 ,30,40,50,60,70,80,90, 20 ]
但那不满足你?
你需要像这样:阵列[10, 100 ,20,30,40,50,60,70,80,90]
您可以使用以下方法
public int[] swapNumbers(int [] arr, int possition1, int possition2){
int temp = arr[possition2];
arr[possition2] = arr[possition1];
arr[possition1] = temp;
System.out.println("array -->" + Arrays.toString(array));
return arr;
}
享受,
resetUpMyArray(array, array[9],1);
System.out.println("array Finally changed-->" + Arrays.toString(array));
答案 2 :(得分:0)
这是两个简单的算法。
切换值:
switch(array, from, to)
tmp = array[to]
array[to] = array[from]
array[from] = tmp
这会产生类似
的东西[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
|--<---->--|
[10, 20, 60, 40, 50, 30, 70, 80, 90, 100]
这将只会将索引to
处将替换的值存储在索引from
移动和移动值:
这个将移动一个值,然后移动值。
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
|------------^
[10, 20, , 40, 50, 60, 30, 70, 80, 90, 100]
<-----------
[10, 20, 40, 50, 60, 30, 70, 80, 90, 100]
为此,解决方案完全相同,将值存储在tmp
中,但移动每个值以填补空白。此代码仅在from < to
tmp = array[to]
i = from
while(i < to)
array[i] = array[i+1]; --Shift the value
i = i + 1
array[to] = tmp;