交换数组java的两个邻域元素

时间:2018-03-05 20:56:08

标签: java arrays user-input swap

我是java的新手,通常都是编写python代码,所以你可以按照自己的意愿向我投票,只要它能帮助我理解。

交换用户输入数组的两个邻域元素的方式是否更少“javish”?

目前我有:

<div>

只改变了第一个和第二个,但如果我想将3和4改为4和3等等,那么可以这样做吗?

2 个答案:

答案 0 :(得分:0)

对于arraylists,您可以使用索引来获取特定位置。例如,您可以使用

X <- c(1,2,3,1,1,3)
Y <- 1:6 
Z <- myfun(X, Y)

Z ## returns matrix
# 1  NA NA
# NA 2  NA
# NA NA 3
# 4  NA NA
# 5  NA NA
# NA NA 6
编辑:祝你好运学习java顺便说一句,如果你对列表和集合感兴趣,请看一下链表,它们类似于arraylists,但在某些情况下可以更通用。

答案 1 :(得分:0)

您使用了API中的Collections.swap方法,根据API,您只需更改您的

即可完成交换3和4的操作。
Collections.swap(list, 0, 1);

排到Collections.swap(list, 3, 4);

查看here(the API),了解更多信息。

编辑:在回复评论时,我会以这种方式这样做

for(int i = 0; i<list.size()-1; i+=2){
  System.out.println("ArrayList Before: "+ list);
  Collections.swap(list, i,i+1);
  System.out.println("ArrayList After: "+ list);
}

这将在每个索引之后立即交换一个索引。但是,如果列表的大小是奇数,则最后一个索引永远不会与任何内容交换。