在Java中如何将数组中的数据倒置

1.

在Java中如何将数组中的数据倒置

1)如果要自己实现这个reverse方法,最直观的方式就是新建一个数组,将原数组从最后往前一个个放进新的数组中,代码如下:

public class Test {
	public static void main(String[] args) {
		int[] ary={10,28,9,12,38,46,59};
		
		System.out.println(Arrays.toString(reverseA(ary)));
		
		
	}
	public static int[] reverseA(int[] arry){
		int length=arry.length;
		int[] re=new int[length];
		for(int i=0;i<length;i++){
			re[length-1-i]=arry[i];
		}
		arry=re;
		return arry;
		
	}
	
	
	
	
}

 2..在原数组上进行操作了,这时的思路是在原数组上进行元素互换,代码如下:

对称交换  效率比所有的交换效率要高

 

import java.util.Arrays;


public class Test {
	public static void main(String[] args) {
		int[] ary={10,28,9,12,38,46,59};
		
		
		System.out.println(Arrays.toString(ary));
		reverseB(ary);
		System.out.println(Arrays.toString(ary));
		
	}
	public static void reverseB(int[] arry){
		
		for(int i=0;i<arry.length/2;i++){
			int temp=arry[i];
			arry[i]=arry[arry.length-1-i];
			arry[arry.length-1-i]=temp;
		}
		
		
	}
	
	
	
	
}

 3.使用集合个工具类: Collections.reverse(ArrayList) 将数组进行反转

 

import java.util.Arrays;
import java.util.Collections;

public class Demo {
          public static void main(String[] args) {
			int[] arry={6,10,18,20,1,35,35};
			 System.out.println("反转前排序: " + Arrays.toString(arry));  
			 ArrayList arrayList = new ArrayList(); 
			 for(int a:arry){
				 arrayList.add(a);
			 }
			 System.out.println(arrayList);
			 Collections.reverseOrder();
			 Collections.reverse(arrayList);
			 System.out.println("反转后的顺序是:"+arrayList);
		}
}

 

转载于:https://www.cnblogs.com/satisfysmy/p/8982072.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值