day13-2学习过程笔记

  • Post author:
  • Post category:其他


1.数组高级(掌握)


  • 数组排序:

  • 冒泡排序:

    相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处:

    day13_Array的cn.itcast_01


    在这里插入图片描述

  • 选择排序:

    从0索引开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小索引处:

    day13_Array的cn.itcast_02


    在这里插入图片描述

  • 用两种方法对字符串中的字符进行排序:

    自己做的:

    day13_Array_Test的cn.itcast_03


  • 数组查找

  • 基本查找:适用于数组元素无序(从头找到尾) //之前讲过

    	public static int getIndex(int[] arr,int value) {
    		int index = -1;
    			
    		for(int x=0; x<arr.length; x++) {
    			if(arr[x] == value) {
    				index = x;
    				break;
    			}
    		}
    			
    		return index;
    	}
    
  • 二分查找(折半查找):适用于数组元素有序:

    day13_Array的cn.itcast_04


    在这里插入图片描述

    注意:数组无序时就不要采用二分查找了,因为数组本身是无序的,如果先排序在查找,排序时其实已经改变了最原始的元素索引

2.Arrays类


  • 概述:是针对数组进行操作的工具类。包括排序和查找等功能

  • 构造方法:没有构造方法(所以可知,成员方法都是静态的)

  • 常用的成员方法:

    day13_Array的cn.itcast_05
  • public static String toString(int[] a):把数组转成字符串 //任何类型数组都能转,这里以int举例
  • public static void sort(int[] a):对数组进行排序 //底层是快速排序
  • public static int binarySearch(int[] a,int key):二分查找

    //看源码可以发现,数组中没有要查找的元素时,返回的是-(low+1)这个值,low是最小索引
  • Arrays工具类的方法源码解析

开发原则:

只要是对象,我们就要判断该对象是否为null。



版权声明:本文为weixin_44055622原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。