• java将数组从小到大
千次阅读
2021-12-07 23:12:52

### 一、要求

###### 首先定义两个数组，用来表示下列关系表：

水位：112，115，113，110，111，114
库容：5656，5954，5703，5500，5642，5841

## 二、代码实现：

从小到大排序，这里用的是冒泡排序法（两个数组代码结构相同）：

package book2;
import java.util.Scanner;
public class Test02 {
static int temp;

public static void main(String[] args) {
int[] waterLevel = {112, 115, 113, 110, 111, 114};
int[] capacity = {5656, 5954, 5703, 5500, 5642, 5841};

getSort(waterLevel, capacity);
correspond(waterLevel, capacity);
}

public static void getSort(int[] water, int[] capacity) {
//  冒泡排序
System.out.print("水位数：");
for (int i = 0; i < water.length; i++) {
for (int j = i + 1; j < water.length; j++) {
if (water[i] > water[j]) {
temp = water[i];
water[i] = water[j];
water[j] = temp;
}
}
System.out.print(water[i] + " ");
}



输入任意一个水位，输出对应库容：

//  水位对应的水库容量
public static void correspond(int[] water, int[] capac) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入水位：");
temp = sc.nextInt();
for (int i = 0; i < water.length; i++) {
if (water[i] == temp) {
System.out.println("水位对应的库容为：" + capac[i]);
}
}
}

更多相关内容
• 1.实现代码 import java.util.Arrays; public class ArraySort { public static void SelectSort(int[] needSortArray) { int tmp = 0; for (int i = 0; i ; i++) { for (int j = i + 1; j ; j++) { if ...

### 1.实现代码

import java.util.Arrays;

public class ArraySort {

public static void SelectSort(int[] needSortArray) {
int tmp = 0;
for (int i = 0; i < needSortArray.length; i++) {
for (int j = i + 1; j < needSortArray.length; j++) {
if (needSortArray[j] < needSortArray[i]) {
tmp = needSortArray[i];
needSortArray[i] = needSortArray[j];
needSortArray[j] = tmp;
}
}
}
}

public static void main(String[] args) {
int[] a1 = {3, 61, 1, 5, 36, 7, 8, 4, 23, 98, 21};
SelectSort(a1);
System.out.println(Arrays.toString(a1)); //[1, 3, 4, 5, 7, 8, 21, 23, 36, 61, 98]
}
}

### 2.排序结果

展开全文
• 1.Arrays.sort()方法排序 ... System.out.println("输入数组个数："); int n = scan.nextInt(); System.out.println("输入数组元素"); int[] num = new int[n]; for (int i = 0; i < num.length;

1.Arrays.sort()方法排序

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入数组个数：");
int n = scan.nextInt();
System.out.println("输入数组元素");
int[] num = new int[n];
for (int i = 0; i < num.length; i++) {
num[i] = scan.nextInt();
}
//变化区域
Arrays.sort(num);
//变化区域
for (int i : num) {
System.out.print(i + " ");
}
System.out.println();
//倒序输出
for (int i = num.length - 1; i >= 0; i--) {
System.out.print(num[i] + " ");

}
}


运行结果

输入数组个数：
5
输入数组元素
12 34 55 43 22
12 22 34 43 55 55 43 34 22 12


2.基础方法
if(a>b)[a为前项，b为后项]
temp=a;
a=b;
b=temp;

public class SortArray {

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("输入数组个数：");
int n = scan.nextInt();
System.out.println("输入数组元素");
int[] num = new int[n];
for (int i = 0; i < num.length; i++) {
num[i] = scan.nextInt();
}
//		变化区域
for(int i=0;i<num.length;i++)
{
for(int j=i+1;j<num.length;j++)
{
if(num[i]>num[j])
{
int temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
//		变化区域
for (int i:num) {
System.out.print(i+" ");

}

System.out.println();
//倒序输出
for (int i = num.length - 1; i >= 0; i--) {
System.out.print(num[i] + " ");

}
}


运行结果

输入数组个数：
4
输入数组元素
12 45 23 76
12 23 45 76
76 45 23 12


比较大小的时候，如果是选择两个数组中数值进行比较，需要的是两个for循环,第二个for循环用来定义下一个数字，来进行与之比较。

原数列1245681972
i=012 6
j=1456 1281972
i=1645 12 8
j=212 458 121972
i=26845 12
j=312 451972
i=3681245 19
j=419 4572
i=468121945
j=572

即完成排序
文章中i<num.length-1;//外层循环。

展开全文
• 需要这份文档的朋友可以帮忙点个赞，点击下方神秘超链接，就可以免费获取了，还有小编准备的一份Java进阶学习路线图（Xmind）以及来年金三银四必备的一份《Java面试必备指南》 资料领取链接：Java进阶学习路线图...

# 美团面试经历（还原最真实的4面）

美团一面：

1、自我介绍

2、聊项目相关

• 介绍项目
• 怎么保证redis与Mysql的数据一致性
• 见你写了个加随机数预防缓存雪崩，解释一下
• 未改进和改进后的Jmter测试性能对比

3、Redis

• 为什么选择Redis作为缓存？
• 为什么Redis的性能十分的高？
• 说一下单进程、单线程的Redis和你平时写的多线程程序的对比
• 如何保证Redis的高可用？（哨兵、持久化策略RDB、AOF）
• 解释一下哨兵、RDB、AOF
• 主从一致性
• Redis数据淘汰策略
• 能说一下分布式事务吗？
• setnx是事务吗？

4、Mysql

• 解释一下事务
• 讲一讲事务隔离级别
• 为什么使用B+树作为索引
• 聚簇索引和非聚簇索引的区别

5、Java

• Java是如何保证其安全性的
• 刚见你说了Java 内存泄漏问题，解释一下什么情况下会出现
• 说一下BIO、NIO、AIO

6、手撕算法

• 一个数组找出出现次数最多的一个数，如果多个数出现的次数相同则输出第一个
• 生产者消费者（一对一）

7、其它

• 平时怎么学习的
• 有什么需要问的吗？

美团二面：

1、手撕算法

• 10个多线程保证 i从0加到10 （差点翻车，主线程忙等另外10个线程完结
• 反转链表
• 上台阶（n=80)

2、操作系统

• 常用的linux命令说一下
• 操作系统中的信号 和 信号量有什么关系
• epoll 和 Selector 有什么区别？

3、计算机网络

• 说一下拥塞控制

4、数据结构

• 说一下红黑树，你平时用的技术哪里用到了它？
• 哈希表怎么处理冲突？

5、项目相关

• 把项目放到服务器上运行的时候有没有遇到什么问题？查看项目运行的状态怎么做？
• spring 和 springboot的关系你是怎么理解的？
• Spring IOC和AOP说一下你的理解
• 为什么用消息队列？
• 对于消息的重复消费你有什么设计方案吗？

美团三面：

• 你怎么学的Java啊？
• 设计模式了解吗？单例讲一下，懒汉饿汉double-check，怎么实现。策略模式，外观模式，适配器模式，装饰器模式，分别讲一下
• 联合索引什么时候不会触发索引？
• AOP了解么，有什么好处，如何使用，怎么实现的?
• 支付宝到银行的转账业务怎么实现？
• redis实现分布式锁
• 三台机器集群，按不同权重访问，怎么做？

美团四面（hr）：

• 先介绍一下你自己吧
• 说一下四种IO模型
• 平时怎么去学习的？
• 为什么你说学习了要去实践？
• 说一下的最大的优点和缺点
• 举一下你缺点的例子
• 想象一下你几十年后是怎样的生活？
• 你觉得最痛苦的一段时间
• 对你影响最大的一件事情
• 在安排活动的过程中有没有发生什么冲突？
• 你有什么崇拜的人吗？
• 你有什么想问的？

### 最后

由于细节内容实在太多了，为了不影响文章的观赏性，只截出了一部分知识点大致的介绍一下，每个小节点里面都有更细化的内容！

需要这份文档的朋友可以帮忙点个赞，点击下方神秘超链接，就可以免费获取到了，还有小编准备的一份Java进阶学习路线图（Xmind）以及来年金三银四必备的一份《Java面试必备指南》

##### 资料领取链接：Java进阶学习路线图（Xmind）+《Java面试必备指南》

）以及来年金三银四必备的一份《Java面试必备指南》**

##### 资料领取链接：Java进阶学习路线图（Xmind）+《Java面试必备指南》

展开全文
• Spring 也算有多年的历史了，已成为Java应用程序开发框架的事实标准。在如此悠久的历史背景下，有人可能会认为Spring放慢了脚步，躺在了自己的荣誉簿上，再也做不出什么新鲜的东西，或者是让人激动的东西。甚至有人...
• 初级练习
• java方法——将数组从小到大排序 public static void sort(int[] arr) { for(int x=0;x<arr.length-1;x++) { for(int y=x+1;y<arr.length;y++) { if(arr[x]>arr[y]) { int temp =...
• Java数组中如何通过几行代码实现从小到大排序呢 以前学习C语言的时候写十几行代码才能实现数组里的从小到大排序，比如冒泡排序一样。后来开始学习java了，作为java是一个高级编程语言，还是用和C语言一样写十几行...
• }//end of method main //对一个数组按照从小到大的顺序进行排序 public static int[] sortArr(int[] arr) { for (int x = 0; x { for (int y = x + 1; y { if (arr[x]>arr[y]) { int temp = arr[x]; arr[x] = arr...
• 用户输入任意个数字，使这些数字从小到大进行排列 二、代码 1.import的调用 import java.util.Arrays; import java.util.Scanner; 2.基本作用实现代码 代码如下（示例）： int sum; Scanner scanner = new ...
• java有一个N个数的数组，想将数组从小到大排好序…有一个N个数的数组，想将数组从小到大排好序，但是只想通过下面这个操作进行排序：任取数组中的一个数然后它放置在数组的最后一个位置.问最少操作多少次可以使得...
• 下面小编就为大家带来一篇java字符串数组进行大小排序的简单实现。小编觉得挺不错的，现在就分享给大家，也给大家做个参考。一起跟随小编过来看看吧
• 冒泡排序：相邻元素，两两进行比较 1.1 此代码虽少，但是其运行时所需的内部循环次数较... //从小到大排序 int[] arr = {9,5,-7,3,12}; System.out.println("排序前的数组：" + Arrays.toString(arr)); fo.
• 1、 在main方法中创建一个含有10个元素的int型数组，进行以下操作：（1）将数组元素按照从小到大的顺序排列；（2）对排好序的数组使用折半查找（使用递归和非递归两种形式分别实现）查找某一个int元素。
• 推荐答案排序算法有很多，我这里有用快速排序法实现的代码/*** 快速排序，排序内容为int数组* @param pData 数组* @param left 左边起始下标，即从左至右始于left* @param right 右边结束下标* @return*/public ...
• 对一数组元素实现从小到大排序输出？ int[] a = {67, 89, 12, 23, 2, 6}; public class 数组排序 { public static void main(String[] args) { int[] a = {67, 89, 12, 23, 2, 6}; int t; for (int i = 0; i <...
• java实现数组从小到大排序，输出为数组。可以直接拿来用，注释清楚，可读性强，适用于基础练习，课堂作业等
• 传入true返回的数组则是从小到大排，传入flase则是从大到小排的 public class MySort { /* 自定义排序工具类 */ /** 冒泡排序传入true从小到大排 传入flase从大到小排 */ public static int[] bubbleSort(int...
• 这种形式是对一个数组的所有元素进行排序，并且是按从小到大的顺序。 2、Arrays.sort(int[] a, int fromIndex, int toIndex) 这种形式是对数组部分排序，也就是对数组a的下标从fromIndex到toIndex-1的元素排序。 ...
• 一维数组排序的思想：通过两个for循环再加上一个中间变量依次比较，再比较后排序好的数组用for循环依次输出，即可将数组中的元素按照某种序列排序，例如： package lianxi; public class yiweishuzu { public ...
• NULL 博文链接：https://baoyao.iteye.com/blog/2042130
• 2.用gradeCount数组保存合并后的数组，并数组元素按照从小到大的顺序输出 代码如下; 下面展示一些 内联代码片。 // A code block var foo = 'bar'; // An highlighted block package step2; import java.util....
• public static void main(String[] args) { int[] waterLevel = {112, 115, 113, 110, 111, 114}; int[] capacity = {5656, 5954, 5703, 5500, 5642, 5841}; getSort(waterLevel, capacity);...
• 若是两个字符串直接比较大小，会包：The operator > is undefined for the argument type(s) Java.lang.String, java.lang.String的错误。字符串比较大小可以用字符串长度或者是比较字符串内字符的ASCII码值，...
• 1.冒泡排序法是从数组中的第一个值开始,对其分别和它后面的每一个元素进行比较大小,如果后面的值小于它的值,就这个小于它的值赋给它,它的值赋给小于它的数,就是交换值,并不是交换序号. 2.之后就从第二个元素...
• 冒泡排序: 比较相邻的两个元素,如果前一个比后一个，则交换位置。 第一轮把最大的元素放了最后面。 由于每次排序最后一个都是最大的，所以之后按照步骤1排序最后一个元素不用比 var arr = [3, 2, 5, 1, 4] ...
• 我们根据一维数组的理念，可以知道是由相同类型数据组成的，那么对于数组的排序也是可行的。关于一维数组排序的方法，不仅是冒泡排序可以实现，同时我们可以借助二分查找的原理，对元素进行分类，从而达到排序的目的...
• 1.利用一个简单的数组来解释比较基础的冒泡排序 2.理解了就简单了，一定要动手，去敲代码，别生看，看一辈子你也学不会。 3.↓↓↓↓↓上代码↓↓↓↓↓↓↓ (都是我对每一句的理解) 控制台的输出： 仔细观看，每一...
• 数组 nums[ ] Arras.sort() 从小到大排序 Arrays.sort(nums, (a, b) -> b - a); 这是从大到小排列

...