手写代码(冒泡排序、选择排序、单例)
1.冒泡排序
int[] arr={3,1,6,8,0};
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
2.选择排序
int[] arr={3,1,6,8,0};
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
3.单例
public class HungrySingleton01 {
// 1、把冰箱门打开
// 2、把大象装进去
// 3、把冰箱门关上
// +++++++++++++++++++++
// 饿汉单例模式
// 1、私有化构造方法
// 2、声明private static 修饰并本类的引用类型变量并实例化
// 3、编写public static 修饰的方法,return本类的实例化对象
private HungrySingleton01() {
}
private static HungrySingleton01 instance = new HungrySingleton01();
public static HungrySingleton01 getInstance() {
return instance;
}
}
public class LazySingleton {
// 懒汉单例模式
// 1、私有化构造方法
// 2、声明private static 修饰并本类的引用类型变量
// 3、编写public static 修饰的方法,return本类的实例化对象
private LazySingleton() {
}
private static LazySingleton instance;
public static LazySingleton getInstance() {
if (instance == null) {
instance = new LazySingleton();
}
return instance;
}
}