Java自学-数组 排序】的更多相关文章

Java 数组选择法,冒泡法排序 步骤 1 : 选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个位置来 比较完后,第二位就是第二小的 以此类推 public class HelloWorld { public static void main(String[] args) { int a [] = new int[]{18,62,68,82,65,9…
1.数组是什么 前边说过java的基本数据类型,数组,就是装这些基本类型的容器.每个基本类型的变量都是单个的,数组就是这些单个元素的组合. 2.创建数组 方式一 格式: 数组存储的数据类型[] 数组名字= new 数组存储的数据类型[长度]; 数组定义格式详解: 数组存储的数据类型: 创建的数组容器可以存储什么数据类型. [] : 表示数组. 数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组. new:关键字,创建数组使用的关键字. 数组存储的数据类型: 创建的数组容器可以…
java.util.Arrays类常用方法 Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能. 大大提高了开发人员的工作效率. 步骤 1 : 数组复制 与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制. 不同的是System.arraycopy,需要事先准备好目标数组,并分配长度. copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了. 除此之外,需要注意的是 copyOfRa…
Java 如何使用二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维数组 所以二维数组又叫数组的数组 int b[][] = new int[][]{ {1,2,3}, {4,5,6}, {7,8,9} }; 步骤 1 : 初始化二维数组 public class HelloWorld { public static void main(String[] args)…
Java 如何复制数组 数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少 步骤 1 : 复制数组 把一个数组的值,复制到另一个数组中 System.arraycopy(src, srcPos, dest, destPos, length) src: 源数组 srcPos: 从源数组复制数据的起始位置 dest: 目标数组 destPos: 复制到目标数组的起始位置 length: 复制的长度 public class HelloWorld { public static…
Java 中如何使用增强for循环 增强型for循环在遍历一个数组的时候会更加快捷 步骤 1 : 增强型for循环 注:增强型for循环只能用来取值,却不能用来修改数组里的值 public class HelloWorld { public static void main(String[] args) { int values [] = new int[]{18,62,68,82,65,9}; //常规遍历 for (int i = 0; i < values.length; i++) { i…
Java 如何初始化数组 步骤 1 : 分配空间与赋值分步进行 public class HelloWorld { public static void main(String[] args) { int[] a = new int[5]; //分配了长度是5的数组,但是没有赋值 //没有赋值,那么就会使用默认值 //作为int类型的数组,默认值是0 System.out.println(a[0]); //进行赋值 a[0] = 100; a[1] = 101; a[2] = 103; a[3]…
Java 如何创建一个数组 数组是一个固定长度的,包含了相同类型数据的 容器 步骤 1 : 声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都是一个整数 a 是变量名 但是,仅仅是这一句声明,不会创建数组 有时候也会写成int a[]; 没有任何区别,就是你看哪种顺眼的问题 public class HelloWorld { public static void main(String[] args) { // 声明一个数组 int[]…
Java基础-数组常见排序方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数据的排序一般都是生序排序,即元素从小到大排列.常见的有两种排序方式:选择排序和冒泡排序.选择排序的特点是每个元素都进行比较,二冒泡排序是数组中相邻元素进行比较.接下来我们一起来看看选择排序和冒泡排序的原理以及如何用Java代码去实现它们. 一.选择排序原理 数组中的每个元素和其它元素进行比较换位置.比如现在有以下一个数字,需要对数组中的值进行排序,要求是从小到达进行排序.我们不妨看看选择排序是如何…
Java对数组列表的排序 数组 Integer[] a = new Integer[] { 1, 2, 3, 4, 5, 6, 9, 8, 7, 4, 5, 5, 6, 6 }; Arrays.sort(a, (x, y) -> x - y); Stream.of(a).forEach(x -> System.out.print(" " + x)); 列表 ArrayList<Integer> list = new ArrayList<>(); li…
JAVA自学笔记13 1.StringBuffer类 1)线程安全的可变字符序列 线程安全(即同步) 2)StringBuffer与String的区别:一个可变一个不可变 3)构造方法: ①public StringBuffer() 无参构造. StringBuffer ssd=new StringBuffer(); Systrm.out.println(ssd);//已被重写,由于没有内容而为空 Systrm.out.println(ssd.capacity());//默认为16 Systrm…
JAVA自学笔记18 1.Map接口: 1)功能: 2) Map<String,String>m=new HashMap<String,String>(); //添加元素,元素无序 System.out.println("map.put("cc","coco"));//null //替换键值,返回该键的上一个值,若键不存在,返回null System.out.println(map);//cc=coco,左边是键,右边是值 //ma…
JAVA自学笔记19 1.集合总结 Collection(单列集合) List(有序可重复) ArrayList:底层数据结构是数组 ,查询快,增删慢.线程不安全,效率高 Vector:底层数据结构是数组,查询快,增删慢.线程不安全,效率低 LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,效率高 Set(无序唯一) HashSet:底层数据结构是哈希表,哈希表依赖两个方法:hashCode()和equals() 执行顺序:首先判断hashCode()值是否相同,是则继续执行…
JAVA自学笔记17 1.Map接口 1)概述 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值.可以存储键值对的元素 2)与Collection接口的不同: ①Map是双列的(成对出现),Collection是单列的 ②Map的键是唯一的,值是可重复的.Collection的子体系Set是唯一的,List是可重复的 ③Map集合的数据结构针对键有效,与值无关:Collection集合的数据结构是针对元素有效 2.登录注册集合版 1)图解: 2) 3)代码:见视频17.0…
JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 String(byte[] bytes,String charsetName): 通过指定的字符集解码字节数组 byte[]getBytes(String charsetName) 使用指定的字符串编码为字节数组 String s="你好"; //编码String-byte[] byte…
前言篇 大家好,我是bigsai 好久不见,甚是想念,文章同时收录在回车课堂(文底阅读原文可达). 无论你是大学生还是在职人员,想学Java时,都会面临两个选择,自学或者报班.报班通常太费钱,时间又不自由:自学又不知道如何下手,担心自己坚持不下来.怎么办呢? 本文将解答你自学Java的N种问题: 你适不适合自学Java呢? 如何自学Java呢? 有没有靠谱的Java自学资料推荐? 怎样让自己看到进步,坚持下来? -- 以上问题,课程中我都会呕心给你梳理答案,赶快开始学习吧. 什么人适合自学Jav…
Java中的排序算法(2) * 快速排序 * 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists). * 步骤为: * 1. 从数列中挑出一个元素,称为 "基准"(pivot), * 2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边).在这个分割之后,该基准是它的最后位置.这个称为分割(partition)操作. * 3. 递归地(recursive)把…
常见的排序算法有冒泡排序.选择排序.插入排序.堆排序.归并排序.快速排序.希尔排序.基数排序.计数排序,下面通过Java实现这些排序 1.冒泡排序 package com.buaa; import java.util.Arrays; /** * @ProjectName SortingAlgorithm * @PackageName com.buaa * @ClassName BubbleSort * @Description 冒泡排序 * @Author 刘吉超 * @Date 2016-05…
学习JAVA中数组的使用 一.什么是数组? 问:编写代码保存 4 名学生的考试成绩. 答:简单啊,定义 4 个变量呗 问:那"计算全年级 400 名学生的考试成绩",肿么办 答: ....... 数组,就可以帮助你妥妥的解决问题啦!! 数组可以理解为是一个巨大的"盒子",里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩. 数组中的元素都可以通过下标来访问,下标从 0 开始.例如,可以通过 scores[0]…
Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对象后,我们可以根据Collection中的方法进行排序,查找,替换操作.而不用在东奔西走的利用什么各种排序算法.正则来实现了.在进行数组排序时,有时反而会因为参数问题而大费周折.例如,自己在利用快排进行数组排序时,当将参数(int [] a, 使用1来代替 Collections.frequency…
本人的愚见,博客是自己积累对外的输出,在学习初期或自己没有多少底料的情况下,与其总结写博客不如默默去搞自己的代码,但是学到集合这一块时,数组,集合,数据结构,算法这个概念搞的我比较混淆,所以不得已写这篇东西. 一,数组,数组和集合是Java中常用到的. 用Java去创建数组: double[] myList; 这时myList 只是代表声明了一个只存放double类型的数组,并没有实体. 要想创建myList的实体,则要给它一个固定的大小,也就是说,数组存放数据的内存是一块连续的区间. myLi…
JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return 返回值: } ①修饰符:对于初学者使用public static ②返回值类型:方法结果的类型 ③方法名符合命名规则即可 ④实际参数:实际参与运算的 形式参数:定义在方法上的,用于接收实际参数 ⑤方法定义在类中但在主方法外 3)调用方式: 单独调用:方法名(变量名1,变量名2,-)一般没有意义 输出…
JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每个一维数组的元素个数 存储图解: eg:int[][]arr = new int[3][3]; 意义:定义了一个二维数组名为arr,这个二维数组有3个一维数组,名称是arr[0].arr[1].arr[2],每个数组有3个元素,可通过arr[m][n]来访问相应m+1.n+1元素 区分…
JAVA自学笔记07 1.构造方法 1) 例如:Student s = new Student();//构造方法 System.out.println(s);// Student@e5bbd6 2)功能:给对象中的数据进行初始化 3)格式:方法名与类名相同,没有具体的返回值类型(包括void),没有具体的返回值 public 类名(){-;}; 4)注意事项:如果不提供构造方法,系统将给出默认的无参构造方法,若已给出,系统不再给出构造方法,可以被重载. 5)重载格式:可以有参数列表即可以在构造方…
JAVA自学笔记11 1:Eclipse的安装 2:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字 A:创建项目 B:在src目录下创建包.cn.itcast C:在cn.itcast包下创建类.HelloWorld D:在HelloWorld下有一个方法.public static void main(String[] args) {} E:在main方法中有一个输出语句.System.out.println("你的名字"); 3:Eclipse空间的基本配…
JAVA自学笔记14 1.正则表达式 1)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己的特殊应用 2)组成规则: 规则字符在java.util.regex Pattern类中 常见组成规则: 字符:x(字符x).\(反斜线字符). \n(换行).\r(回车符) 字符类: [abc](a或b或c,简单类) [^abc](除了a/b/c以外的字符) [a-zA–Z](两头的字母也包括在内(范围)) [0-9](0到9的字符都包括) 预定义字符类: .(…
JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流,对应着键盘录入 4)成员方法 ①public boolean hasNextXxx() 判断是否还有下一个输入项,返回布尔类型.其中Xxx可以是Int/Double等数据类型,如果需要判断是否包含下一个字符串,则可省略Xxx public class ScannerDemo(){ public s…
JAVA自学笔记15 @例题1:共有5个学生,请把五个学生的信息存储到数组中,并遍历数组,并获取每个学生的信息 Students[] students=new Student[5]; Student s1=new Student("Jack"); Students[0]=s1;//数组里储存的是一个一个的对象 1.集合类 1)面向对象语言对事物都是以对象的形式,所以为了方便 对多个对象进行操作,java提供了集合类 2)数组虽然也可以存储对象,但长度必须是固定的,集合的长度是可变的.数…
JAVA自学笔记20 1.递归: 1)方法定义中定义中调用方法本身的现象 2)要有出口,否则就是死递归 次数不能太多.否则内存将溢出 构造方法不能递归使用 //斐波那契数列:1,1,2,3,5,8,13,21.34 public int Fibonacci(int n){ if(n==1||n==2){return 1;} return Fibonacci(n-1)+Fibonacci(n-2) } @例题1:遍历目录下指定后缀名结尾的文件名称 private static void getAl…
JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可以使用数据输入流将数据读入. //实例 private static void write(){ DataOutputStream dos-new DataOutputStream(new FileOutputStream("dos.txt")); dos.writeByte(10); d…