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()可以简便的创建数组 ...
随机推荐
- vs.net/vscode中使用Beetlex创建vue应用
平时在开发Vue应用则需要安装nodejs,vue cli等相关东西相对来说麻烦一些:如果你喜欢像vs.net/vscode创建普通项目一样就能开发Vue项目的话那可以尝试一下BeetleX针对Vue ...
- 1.二进制部署kubernetes
目录 kubernetes的五个组件 master节点的三个组件 kube-apiserver kube-controller-manager kube-scheduler node节点的两个组件 k ...
- springboot mybatis plus多数据源轻松搞定 (上)
在开发中经常会遇到一个程序需要调用多个数据库的情况,总得来说分为下面的几种情况: 一个程序会调用不同结构的两个数据库. 读写分离,两个数据结构可能一样高,但是不同的操作针对不同的数据库. 混合情况,既 ...
- 谈谈java中的并发(一)
一.并发的定义 并发:对于这个概念一直就是没怎么搞懂,就是感觉特别的生疏,(自己从从字面上理解就是多个东西,一起出发),所以就上网上查了一些资料: 同时拥有两个或多个线程,如果程序在单核处理器上运行, ...
- skywalking7 源码解析 (3) :agent启动服务分析以及性能影响
skywalking必看的文章,转载自https://blog.csdn.net/u010928589/article/details/106608864/
- Code Walkthroughs Table API
上级:https://www.cnblogs.com/hackerxiaoyon/p/12747387.html Table API Table api 有批量的api和流实时的api.通常很容易进行 ...
- CString 十六进制转二进制
int nValude = 0; CString strtemp("asdb");; sscanf(strtemp.GetBuffer(0),"%x",& ...
- .NET Core下开源任务调度框架Hangfire
今天无意中发现了一个很好用的任务调度框架.Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在 .net core的环境中,由Core自带的DI管理着生命周期. 相较于qu ...
- vs2013, EF6.0.0.0 使用Migrations来更新数据库时报错
1.vs中,程序包管理器控制台 2.执行,Enable-Migrations 报错: Migrations have already been enabled in project 'dd'. To ...
- java语言基础(四)_面向对象_类_对象_封装_构造
面向对象 Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计.开发计算机程序. 这里的对象泛指现实中一切事物,每种事物都具备 ...