zoukankan      html  css  js  c++  java
  • Java_数组, 懒得整理了 ---------------------> 未完, 待续

    待续

    public class TestArray {
    	public static void main(String[] args) {
    		String[] s1 = {"双儿", "建宁", "阿珂", "沐剑屏", "方怡", "曾柔", "苏荃"};
    		String[] s2 = new String[9];
    
    		displayArray(s1);
    		
    		// 源数组或目标数组越界都会报错
    		System.arraycopy(s1, 0, s2, 1, s1.length);	
    		displayArray(s2);
    		
    		// 删除数组s1[1]元素
    		s1 = removeArrayElement(s1, 1);
    		displayArray(s1);
    
    		// 扩容数组s1
    		s1 = extendArray(s1, 10);
    		displayArray(s1);
    	}
    	
    	
    	// 删除的数组下标从0开始计数
    	public static String[] removeArrayElement(String[] str, int dex) {
    		System.arraycopy(str, dex+1, str, dex, str.length-dex-1);
    		str[str.length-1] = null;
    		return str;
    	}
    	
    	// 数组扩容
    	public static String[] extendArray(String[] str, int i) {
    		String[] str_e = new String[str.length + i];
    		System.arraycopy(str, 0, str_e, 0, str.length-1);
    		return str_e;
    	}
    	
    	// 数组遍历
    	public static void displayArray(String[] str) {
    		for(String tmp : str) {
    			System.out.print(tmp + "    ");
    		}
    		System.out.println("
    #########################分隔符##############################");
    	}
    	
    }
    
    /*
    双儿    建宁    阿珂    沐剑屏    方怡    曾柔    苏荃    
    #########################分隔符##############################
    null    双儿    建宁    阿珂    沐剑屏    方怡    曾柔    苏荃    null    
    #########################分隔符##############################
    双儿    阿珂    沐剑屏    方怡    曾柔    苏荃    null    
    #########################分隔符##############################
    双儿    阿珂    沐剑屏    方怡    曾柔    苏荃    null    null    null    null    null    null    null    null    null    null    null    
    #########################分隔符##############################
    */
    

    JDK提供java.util.Arrays类, 包含了常用的数组操作, 方便日常开发.

    Arrays类包含: 排序, 查找, 填充, 打印内容

    Arrays.toString()方法是Arrays类的静态方法, 不是Object的toString()方法

    import java.util.Arrays;
    
    public class TestArray_1 {
    	public static void main(String[] args) {
    		int[] s1 = {1, 4, 2, 9, 13};
    		
    		// 打印数组引用的值
    		System.out.println(s1);
    		
    		// 打印数组元素
    		System.out.println(Arrays.toString(s1));
    		
    		// 未排序, 不能用Arrays.binarySearch()查找
    		//System.out.println("该元素的索引: " + Arrays.binarySearch(s1, 4));
    
    		// 数组排序
    		// Arrays.toString()方法是Arrays类的静态方法, 不是Object的toString()方法
    		Arrays.sort(s1);
    		System.out.println(Arrays.toString(s1));
    		
    		// 返回索引位置, 若未找到返回负数, 查找数组必须先经过排序
    		System.out.println("该元素的索引: " + Arrays.binarySearch(s1, 4));
    		
    	}
    }
    
    // Comparable接口---------------------> 容器待解决
    class Man implements Comparable {
    	int age;
    	int id;
    	String name;
    	
    	public Man(int age, String name) {
    		super();
    		this.age = age;
    		this.name = name;
    	}
    	
    	public String toString() {
    		return this.name;
    	}
    	public int compareTo(Object o) {
    		Man man = (Man) o;
    		if(this.age < man.age) {
    			return -1;
    		}
    		else if(this.age > man.age) {
    			return 1;
    		}
    		else
    			return 0;
    	}
    }
    
    /*
    [I@71be98f5
    [1, 4, 2, 9, 13]
    [1, 2, 4, 9, 13]
    该元素的索引: 2
    */
    

    二维数组

    import java.util.Arrays;
    
    public class Test2DimensionArray {
    	public static void main(String[] args) {
    		// Java中多维数组的声明和初始化应该按从低维到高维的顺序进行
    		int[][] array_1 = new int[3][];
    		array_1[0] = new int[2];
    		array_1[1] = new int[4];
    		array_1[2] = new int[3];
    		//int a1[][] = new int[][4];
    		
    		// 二维数组的动态初始
    		int[][] array_2 = new int[3][];
    		array_2[0] = new int[]{1, 2, 3};
    		array_2[1] = new int[]{3, 4, 5, 9};
    		array_2[2] = new int[]{3, 4};
    		
    		// 二维数组的静态初始化
    		int[][] array_3 = {{1, 2, 3}, {2, 3}, {3, 9}};
    
    		System.out.println(Arrays.toString(array_2[0]));
    		System.out.println(Arrays.toString(array_2[1]));
    		System.out.println(Arrays.toString(array_2[2]));
    		System.out.println("###############分隔符##################");
    		
    		for(int[] tmp : array_3) {
    			System.out.println(Arrays.toString(tmp));
    		}
    		
    	}
    }
    
    /*
    [1, 2, 3]
    [3, 4, 5, 9]
    [3, 4]
    ###############分隔符##################
    [1, 2, 3]
    [2, 3]
    [3, 9]
    */
    

    多维数组存储表格

    import java.util.Arrays;
    
    public class TestArrayTableData {
    	public static void main(String[] args) {
    		Object[] emp1 = {1001, "萧峰", 30, "丐帮帮主", "2018.8.8"};
    		Object[] emp2 = {1002, "段誉", 20, "段公子", "2018.3.9"};
    		Object[] emp3 = {1003, "虚竹", 25, "梦郎", "2018.4.5"};
    		
    		Object[][] tableData = new Object[3][];
    		tableData[0] = emp1;
    		tableData[1] = emp2;
    		tableData[2] = emp3;
    		
    		for(Object[] tmp : tableData) {
    			System.out.println(Arrays.toString(tmp));
    		}
    	}
    }
    
    /*
    [1001, 萧峰, 30, 丐帮帮主, 2018.8.8]
    [1002, 段誉, 20, 段公子, 2018.3.9]
    [1003, 虚竹, 25, 梦郎, 2018.4.5]
    */
    
  • 相关阅读:
    elementui表单输入框部分校验--判断
    vue学习如何引入js,封装操作localStorage本地储存的方法
    vue组件传值 递增次数传递bug修复
    vue深度监听之手机格式344
    vue-------滑动验证
    vue get/post请求如何携带cookie的问题
    elementui的dialog组件踩坑
    WebStorm License Activation (WebStorm许可证激活)
    input 标签实现带提示文字的输入框
    隐藏 input 标签的边框
  • 原文地址:https://www.cnblogs.com/hesper/p/9719015.html
Copyright © 2011-2022 走看看