- Object类
- equals():判断两个对象是否相等
- clone():进行对象拷贝
- getClass():返回和当前对象相关的Class对象
- notify()、notifyAll()、wait()用来对对象进行线程同步
-
String类
- String类代表字符串,字符串是常量,String是常量,但是引用是可变的。
- Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的。
- 一旦被创建就不可修改,例如:
在上面两行代码中,先后共创建了4个String对象,分别是"hello",“world”,“java”,“world java”,最后再将"world java"的引用赋给s。String s = "hello"; s = "world"+"java";
-
StringBuffer
- StringBuffer是一个容器,字符串缓冲区
- 如果对字符串进行拼接操作,每次拼接都会构建一个新的String对象,耗时且浪费空间,StringBuffer用于解决这个问题
- 线程安全的可变的字符序列,效率较低
- StringBuffer转String可以通过以下方法:
- subString()
- 构造方法
- toString()
- String转StringBuffer可以通过以下方法:
- 构造方法
- append()
-
StringBuilder
- 线程不安全,其他与StringBuffer相同,两者底层均由char[]数组实现。
- 数组
-
冒泡排序:相邻元素两两比较,大的往后放,最大值出现在最大索引处
/** * 冒泡排序 * @param arr */ private static void bubbleSort(int[] arr) { for(int y = 0 ; y < arr.length - 1; y++) { for(int x = 0 ; x < arr.length - 1 - y ; x++ ) { if(arr[x] > arr[x+1]) { int temp = arr[x] ; arr[x] = arr[x+1] ; arr[x+1] = temp ; } } } }
图解:
-
选择排序:从0索引开始,依次和后面元素比较,小的往前放,最小值出现在最小索引处
/** * 选择排序 * @param arr */ private static void selectSort(int[] arr) { for(int index = 0 ; index < arr.length - 1 ; index++) { for(int x = index + 1 ; x < arr.length ; x++) { if(arr[index] > arr[x]) { int temp = arr[index] ; arr[index] = arr[x] ; arr[x] = temp ; } } } }
图解:
-
二分法查找:每一次都差中间的那个元素,比较大或者小就能减少一半的元素,前提是元素必须有序,无序不能使用二分法查找。
/** * 二分查找 * @param arr * @return */ private static int binarySearch2(int[] arr , int value) { // 定义三个变量 int minIndex = 0 ; int maxIndex = arr.length - 1 ; while(minIndex <= maxIndex) { int midIndex = (minIndex + maxIndex) >>> 1 ; // 比较 if(arr[midIndex] == value) { return midIndex ; }else if(arr[midIndex] > value) { maxIndex = midIndex - 1 ; }else if(arr[midIndex] < value) { minIndex = midIndex + 1 ; } } // 返回 return -1; }
图解:
-
- 基本类型包装类
参考此条:基本类型与包装类
-
Math类
Math 类包含用于执行基本数学运算的方法和成员变量,如初等指数、对数、平方根和三角函数。//成员变量 public static final double E : 自然底数 public static final double PI: 圆周率 //成员方法 public static int abs(int a) 取绝对值 public static double ceil(double a) 向上取整 public static double floor(double a) 向下取整 public static int max(int a,int b) 获取最大值 public static int min(int a, int b) 获取最小值 public static double pow(double a,double b)获取a的b次幂 public static double random() 获取随机数 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。 public static int round(float a) 四舍五入 public static double sqrt(double a) 获取正平方根
-
Random类
此类用于产生随机数如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列public Random() 没有给定种子,使用的是默认的(当前系统的毫秒值) public Random(long seed) 给定一个long类型的种子,给定以后每一次生成的随机数是相同的 public int nextInt() public int nextInt(int n)
- System类
System 类包含一些有用的类字段和方法。它不能被实例化。