Java数组倒置
Java数组之 -- 数组倒置
方法一 :
package mytest;
public class test2 {
public static void main(String[] args) {
//1. 将数组 倒置 as: 1,2,0,4,5 => 5,4,0,2,1
//2.准备一个数组
int [] array = {1,2,0,4,5};
/**
* 思路 : 将一个数组 倒置过来, 无非就是把他们的下标从头到尾
* 互相换个位置 第一个 和 最后一个 进行 交换 第二个 后 倒数第二个换
* 在循环中 进行 交换 就行了 ;
* 注意 : 因为是互相换,所以只能 换 长度除以2次
*/
//3. 第一位下标
int head = 0;
//4. 最后一位下标
int end = array.length-1;
//5.只循环 长度的一半
int center = array.length/2; //center结果为 2.5 因为精度丢失 所以结果为 2
for (int i = 0; i < center; i++) {
//先把第一位给一个临时变量
int index =array[head];
//把最后一位放在第一位
array[head] = array[end];
//最后再把第一位给最后一位交换
array[end] = index;
head++;
end--;
}
//交换之后 遍历看结果
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}

先考虑生活中如何去解决,然后在想代码如何实现,这样会轻松很多;
方法二 : 使用apache封装的工具类;
1.导入依赖
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
package com.mybatis.demo.exercise; import org.apache.commons.lang.ArrayUtils;
import java.util.Arrays; /**
* @author yinsenxin
*/
public class ArrayReverse {
public static void main(String[] args) {
// 使用apache中封装的 ArrayUtils工具类 int [] a = {1,2,32,4};
// reverse 颠倒给定数组的顺序
ArrayUtils.reverse(a);
System.out.println(Arrays.toString(a));
}
}
Java数组倒置的更多相关文章
- Java数组的应用2:数组的最大,最小,求和,平均值,倒置
import java.util.Scanner; public class HelloWorld { public static void main(String[] args){ // Scann ...
- java数组元素倒置
package dataStructure; import java.util.Arrays; import java.util.ArrayList; public class Test1 { sta ...
- Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...
- 第5章 Java数组
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
- Java 数组基础
数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...
- Java数组及其内存分配
几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...
- [转载]Java数组扩容算法及Java对它的应用
原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...
- Java数组技巧攻略
Java数组技巧攻略 0. 声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...
- Java数组扩容算法及Java对它的应用
1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...
随机推荐
- 使用python求解向量值函数的雅各比(Jacobian)矩阵
考虑一个向量值函数$R^m \rightarrow R^n$,即$\textbf{y} = f(\textbf{x})$,它的雅各比(Jacobian)矩阵定义如下. 下面记录下一段使用python求 ...
- 通信中的错误代码 (repost from https://blog.csdn.net/zzhuan_1/article/details/80066716)
• 100 - 继续.• 101 - 切换协议.• 110 重新启动标记答复.• 120 服务已就绪,在 nnn 分钟后开始.• 125 数据连接已打开,正在开始传输.• 150 文件状态正常,准备打 ...
- Android学习笔记BroadcastReceiver(广播接收者)
Android发送广播的过程 代码实现 MainActivity.java import androidx.appcompat.app.AppCompatActivity; import androi ...
- java多线程并发执行demo,主线程阻塞
其中有四个知识点我单独罗列了出来,属于多线程编程中需要知道的知识: 知识点1:X,T为泛型,为什么要用泛型,泛型和Object的区别请看:https://www.cnblogs.com/xiaoxio ...
- c++数字转化为字符串、字符串转换为数字
char ch[20]; int i =1; int j = 2; char *p = "34567"; 数字装换为字符串 sprintf(ch , "%d,%d&quo ...
- JavaScript基础函数的配置对象Configuration Objects(020)
配置对象通常用在API库的实现中,当程序中需要编写要多次的模块,也可以采用这种模式.这种模式的好处是接口明确,扩展方便.比如,一个 addPerson在设计的最初需要两个参数作为初始化时人的姓名: f ...
- python冷知识(续)
python 冷知识 1.交互式中修改最大递归深度 大家都知道使用递归是有风险的,递归深度过深容易导致堆栈的溢出. 那到底,默认递归次数限制是多少呢? 可以使用sys这个库来查看 >>&g ...
- Python之浅谈深浅拷贝
目录 深浅拷贝 拷贝 浅拷贝 深拷贝 深浅拷贝 拷贝 s=['tim','age'] s2=s #这里的s2列表指向与s相同的id 当s2为s的拷贝对象时,s内的可变类型变化,s2变化;s内的不可变类 ...
- ArcServer服务通过python备份,到另一台机器还原服务
通过python可以快速把服务器上所有的服务都备份下来(只能备份服务,无法备份缓存文件),然后可以把备份文件考到需要新装的服务器上进行还原.还原时所有的Server缓存.输出等文件夹地址都是按源备份地 ...
- 【Oracle】Oracle wrong result一则(优化器问题)
现象如下: SYS@proc> select * from v$version where rownum=1; BANNER ---------------------------------- ...