标签:
1 数组高级以及Arrays(掌握) 2 (1)排序 3 A:冒泡排序 4 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处。同理,其他的元素就可以排好。 5 6 public static void bubbleSort(int[] arr) { 7 for(int x=0; x<arr.length-1; x++) { 8 for(int y=0; y<arr.length-1-x; y++) { 9 if(arr[y] > arr[y+1]) { 10 int temp = arr[y]; 11 arr[y] = arr[y+1]; 12 arr[y+1] = temp; 13 } 14 } 15 } 16 } 17 18 B:选择排序 19 把0索引的元素,和索引1以后的元素都进行比较,第一次完毕,最小值出现在了0索引。同理,其他的元素就可以排好。 20 21 public static void selectSort(int[] arr) { 22 for(int x=0; x<arr.length-1; x++) { 23 for(int y=x+1; y<arr.length; y++) { 24 if(arr[y] < arr[x]) { 25 int temp = arr[x]; 26 arr[x] = arr[y]; 27 arr[y] = temp; 28 } 29 } 30 } 31 } 32 (2)查找 33 A:基本查找 34 针对数组无序的情况 35 36 public static int getIndex(int[] arr,int value) { 37 int index = -1; 38 39 for(int x=0; x<arr.length; x++) { 40 if(arr[x] == value) { 41 index = x; 42 break; 43 } 44 } 45 46 return index; 47 } 48 B:二分查找(折半查找) 49 针对数组有序的情况(千万不要先排序,在查找) 50 51 public static int binarySearch(int[] arr,int value) { 52 int min = 0; 53 int max = arr.length-1; 54 int mid = (min+max)/2; 55 56 while(arr[mid] != value) { 57 if(arr[mid] > value) { 58 max = mid - 1; 59 }else if(arr[mid] < value) { 60 min = mid + 1; 61 } 62 63 if(min > max) { 64 return -1; 65 } 66 67 mid = (min+max)/2; 68 } 69 70 return mid; 71 } 72 (3)Arrays工具类 73 A:是针对数组进行操作的工具类。包括排序和查找等功能。 74 B:要掌握的方法(自己补齐方法) 75 把数组转成字符串: 76 排序: 77 二分查找: 78 (4)Arrays工具类的源码解析 79 (5)把字符串中的字符进行排序 80 举例: 81 "edacbgf" 82 得到结果 83 "abcdefg" 84 85 3:Integer(掌握) 86 (1)为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装类类型 87 byte Byte 88 short Short 89 int Integer 90 long Long 91 float Float 92 double Double 93 char Character 94 boolean Boolean 95 (2)Integer的构造方法 96 A:Integer i = new Integer(100); 97 B:Integer i = new Integer("100"); 98 注意:这里的字符串必须是由数字字符组成 99 (3)String和int的相互转换 100 A:String -- int 101 Integer.parseInt("100"); 102 B:int -- String 103 String.valueOf(100); 104 (4)其他的功能 105 进制转换 106 (5)JDK5的新特性 107 自动装箱 基本类型--引用类型 108 自动拆箱 引用类型--基本类型 109 110 把下面的这个代码理解即可: 111 Integer i = 100; 112 i += 200;
标签:
原文地址:http://www.cnblogs.com/fuck1/p/5347611.html