交换数组java的两个邻域元素
我对java相当陌生,通常编写python代码,所以只要有助于我理解,你可以随意否决我
交换用户输入数组的两个邻域元素是否有更多更少的“javish”方法
目前我有:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<>();
System.out.println("Enter some numbers:");
while (in.hasNextInt()) {
list.add(in.nextInt());
}
System.out.println("ArrayList Before: "+ list);
Collections.swap(list, 0, 1);
System.out.println("ArrayList After: "+ list);
}
这只改变了第一个和第二个,但是如果我想把3和4也改变成4和3,如此类推,有可能这样做吗
# 1 楼答案
你用过这些收藏品。从API中交换方法,根据API,交换3和4只需更改
行到
Collections.swap(list, 3, 4);
有关更多信息,请查看here(the API)
编辑:作为对评论的回应,我会这样做
这将立即用后面的索引交换每个索引。但是,如果列表大小为奇数,则最后一个索引将永远不会与任何内容交换
# 2 楼答案
对于ArrayList,可以使用索引获取特定位置。例如,您可以使用
编辑:顺便说一句,祝您学习java好运,如果您对列表和集合感兴趣,请查看链接列表,它们类似于ArrayList,但在某些情况下更通用