当前位置:   article > 正文

Java使用数组学习心得_学习java数组的收获体会

学习java数组的收获体会
  1. 数组的长度初始化后不可变,而String类型初始化后值不可变
  2. 提到数组和字符串,就不得不提两者很容易混淆的length和length()属性,下面这篇文章对比了两者:https://mp.csdn.net/mp_blog/creation/editor/124241868https://mp.csdn.net/mp_blog/creation/editor/124241868
  3. 初始化数组时 不要既动态初始化又静态初始化,即不要既指定长度又分配初始值
    下面是错误示范:
    int[] x = new int[3]{1,2,3};

    正确写法:

    1. int[] x = new int[3];
    2. x[0] = 1;
    3. x[1] = 2;
    4. x[3] = 3;

    或者:

    int[] x = new int[]{1,2,3};
  4. Arrays增强类(使用时必须在程序中导入java.util.Arrays)
    ·int BinarySearch(type[] a,type key):使用二分法查询key元素值在数组a中出现的索引,若没有,则返回负数。(注:使用该方法时,数组必须已经按升序排序)
    ·int BinarySreach(type[] a,int fromIndex,int toIndex,type key):与上一个方法类似,但只搜索从fromIndex到toIndex索引值的元素。
    ·type[] copyOf(type[] original,int length):把original数组复制成一个新数组,新数组长度为length。
    ·type[] copyOfRange(type[] original,int from,int to):只复制original数组的from索引到to索引的元素
    ·boolean equals(type[] a,type[] a2):如果数组a和数组a2的长度相等,元素也一一相等,则返回true。
    ·void fill(type[] a,type val):把a所有元素都赋值为val。
    ·void sort(type[] a):对数组a进行排序。
    ·String toString(type[] a):将一个数组转换成字符串
  5. 应用如下:
    1. package jjm;
    2. import java.util.Arrays;
    3. public class Main {
    4. public static void main(String[] args) {
    5. int[] a = new int[] {3,4,5,6};
    6. int[] a2 = new int[]{3,4,5,6};
    7. System.out.println("a数组与a2数组是否相等:"+Arrays.equals(a, a2));
    8. int[] b = Arrays.copyOf(a, 6);
    9. System.out.println("a数组和b数组是否相等:"+Arrays.equals(a,b));
    10. System.out.println("b数组的元素为:"+Arrays.toString(b));
    11. Arrays.fill(b, 2, 4, 1);
    12. System.out.println("b数组的元素为:"+Arrays.toString(b));
    13. Arrays.sort(b);
    14. System.out.println("b元素的元素为:"+Arrays.toString(b));
    15. }
    16. }
    结果如下:
    1. a数组与a2数组是否相等:true
    2. a数组和b数组是否相等:false
    3. b数组的元素为:[3, 4, 5, 6, 0, 0]
    4. b数组的元素为:[3, 4, 1, 1, 0, 0]
    5. b元素的元素为:[0, 0, 1, 1, 3, 4]
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/782771
推荐阅读
相关标签
  

闽ICP备14008679号