转载自:https://www.cnblogs.com/bekeyuan123/p/6891875.html


数组的定义:

        // 3种定义方式
int[] arr = new int[5]; int[] arr1 = {1,2,3,4,5}; int[] nums = new int[]{1, 2, 3}; long[] arr2 = new long[6]; String[] strs = new String[5]; // 数组可以存储引用类型
Person[] ps = new Person[5];

数组的操作:        int[] arr = {45, 34, 53, 43};

// 默认升序排序
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // 二分搜索法(使用之前需要先使用Arrays.sort()排序),如果没有找到数字,返回为负数;返回正数,代表数字在数组中的索引
int i = Arrays.binarySearch(arr, 34);
System.out.println(i);
     // Arrays.copyOf()底层实现是System.arraycopy();
int[] newArr = Arrays.copyOf(arr, 7);      // copyOfRange()方法第三个参数是索引值,包左不包右
int[] newArr1 = Arrays.copyOfRange(arr, 1, 3);
System.out.println(Arrays.toString(newArr));
System.out.println(Arrays.toString(newArr1));

     // binarySearch()方法第三个参数是索引值,包左不包右
int j = Arrays.binarySearch(arr, 1, 3, 34);
System.out.println(j);

冒泡排序:

       int[] arr = {23,12,48,56,45};
     int temp = -1;
for(int i=0;i<arr.length;i++) {
for(int j=i+1;j<arr.length;j++) {
if(arr[i]>arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println(Arrays.toString(arr));

直接选择排序:

       int[] arr = {23,12,48,56,45};
    for(int i=0;i<arr.length;i++) {
int tem = i;
       // 每一趟的比较都把最小的一个数字的索引找到
for(int j=i;j<arr.length;j++) {
if(arr[j] < arr[tem]) {
tem = j;
}
}
int temp1 = arr[i];
arr[i] = arr[tem];
arr[tem] = temp1;
}
System.out.println(Arrays.toString(arr));

反转排序:

        int[] arr = {23,12,48,56,45};
    for(int i=0;i<arr.length / 2;i++) {
int temp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] = temp;
}
System.out.println(Arrays.toString(arr))

十七、Java中数组常见的几种排序方法!的更多相关文章

  1. java中数组复制的两种方式

    在java中数组复制有两种方式: 一:System.arraycopy(原数组,开始copy的下标,存放copy内容的数组,开始存放的下标,需要copy的长度); 这个方法需要先创建一个空的存放cop ...

  2. Java中数组转为List三种情况的优劣对比,常犯的类型转换错误原因解析

    一.最常见方式(未必最佳)通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常. 关键代码:List list = Arrays. ...

  3. Java中数组复制的几种方式以及数组合并

    1.Object.clone() 简单直接,只能对源数组完整地复制 2.Arrays.copyOf(T[] original, int newLength) 可以只复制源数组中部分元素,但复制的起始位 ...

  4. c语言常见的几种排序方法总结

    一:选择排序和冒泡排序 这两种排序比较简单,直接贴出代码: #include <stdio.h> void choose_sort(int *arr, int n); void bubbl ...

  5. Javarscipt中数组或者字符串的随机排序方法

    在日常开发中,经常会遇到随机排序的需求,思路就是利用Math.random()方法,抽取随机数,让数组中的元素进行对调: 话不多说直接上代码,方法一:基本思路就是将a中随机抽取一个元素,放入b中,再从 ...

  6. java 遍历数组常见的3种方式

    1.for循环,最常见 2.利用foreach 3.利用jdk自带的方法  --> java.util.Arrays.toString()

  7. Java中数组复制的几种方法

    /** * @author zhengbinMac */ public class Test { public static void main(String[] args) { int[] arra ...

  8. java中最常见的几种运行时异常,你get了吗?

    NullPointerException (空指针异常) ClassCastException (类型强制转换异常) NumberFormatException (数字格式异常) NegativeAr ...

  9. Java中数组定义的三种方式

    方法一: 1.先声明 2.分配空间 3.赋值 public class arr{ public static void main(String[] args){ int[] arr; //先声明 ar ...

随机推荐

  1. 封装poi导出篇

    前言 先写的导入,以为导出会很简单,没想到导出的东西也不少,基于常用的几种样式和校验写了一个简单的导出,包括时间,数字,文字长度,下拉框,提示框校验,基础样式包括字体,字体颜色,背景颜色等功能,可以使 ...

  2. leetCode191. 位1的个数

    编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量) 示例 1: 输入:00000000000000000000000000001011 输出:3 解 ...

  3. 2018-2019-2 20165205 Exp2 后门原理与实践

    20165205 Exp2 后门原理与实践 实验内容 一.基础问题回答 列举你能想到的一个后门进入到你系统中的可能方式 下载盗版软件.操作系统 当然正版软件里可能也有编写者安装的后门 不在官方更新软件 ...

  4. eShopOnContainers 看微服务④:Catalog Service

    服务简介 Catalog service(目录服务)维护着所有产品信息,包括库存.价格.所以该微服务的核心业务为: 产品信息的维护 库存的更新 价格的维护 架构模式 先看代码结构(下图). 主要依赖: ...

  5. IntelliJ IDEA 工程Java文件上红色的无效符

    IntelliJ IDEA 工程Java文件上红色的无效符(红色表示该类是不可编译文件) 1.查看Java.resources文件夹 如图所示,是因为没有配置 2.在Java文件夹点击右键找到Mark ...

  6. MongoDB(3)--Java 操作 MongoDB 的 API

    引入mongoDb 依赖 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-j ...

  7. mySQL的表操作

    1.新建表 CREATE TABLE 表名 ( 属性名 数据类型 [完整约束条件], 属性名 数据类型 [完整约束条件], ... ... 属性名 数据类型 [完整约束条件] ); 2.删除表 DRO ...

  8. rsync 文件同步和备份

    rsync 是同步文件的利器,一般用于多个机器之间的文件同步与备份,同时也支持在本地的不同目录之间互相同步文件.在这种场景下,rsync 远比 cp 命令和 ftp 命令更加合适,它只会同步需要更新的 ...

  9. 40_redux_counter应用_redux完善版本

    项目结构: 代码: import React from 'react'; import ReactDOM from 'react-dom'; import store from './redux/st ...

  10. Linux 下安装 apache

    1.检查是否已经安装过 apache (linux 中 apache 的名字是 httpd) rpm -qa  httpd 2.如果没有安装过,运行如下命令 yum install httpd -y ...