Java 数组常用方法

ErinG93 8年前
   <h3><strong>数组的定义方法</strong></h3>    <p>首先看一维数组的定义方法:</p>    <p>数组的静态声明法</p>    <pre>  <code class="language-java">int arr [] = {5,2,7,9,0};    // [] 写在前后都行,风格统一即可  int[] arr = {5,2,7,9,0};    //可用foreach输出    for (int x: arr) {        System.out.println(x); // 2 4 6 8 10  }</code></pre>    <p>数组的动态声明法</p>    <pre>  <code class="language-java">//和创建对象没有关系  //创建对象new后面是()  int[] arr= new int[10];  char[] arrChar = new char[10];</code></pre>    <p>声明之后,默认值,int数组是0,char数组是空字符,boolean数组是false。</p>    <p>二维数组也是类似的。</p>    <p>二维数组,就是数组之中的元素,还是数组。</p>    <pre>  <code class="language-java">//静态声明法  int[][] arr = {{1,2,3},{4,5,6},{7,8}};  //动态声明法  int[][] arr1 = new int[3][5];                   //输出时要用两层循环来取  for(int i = 0; i < arr.length; i++) {      for(int j = 0; j < arr[i].length; j++) {           System.out.println(arr[i][j]);      }  }</code></pre>    <h3><strong>数组的类型</strong></h3>    <ul>     <li>数组的类型不是数组中元素的类型,不要混淆。比如arr是 <strong>整形数组</strong> 类型,不是整形变量 。</li>     <li>只要保证数组中存放的元素类型是一致的就行。int,double,char,对象,数组,都可以存在数组里。<br> <strong>注意</strong> :数组一旦被声明,长度就不可改变了!!</li>    </ul>    <h3><strong>数组的操作方法</strong></h3>    <p>Arrays类的静态方法很好用,需要import java.utils.Arrays</p>    <p>1、 Array.fill() 填充数组</p>    <pre>  <code class="language-java">// void fill(int[] a, int val)全部填充   // void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素    Arrays.fill(arr3, 10);  Arrays.fill(arr3, 1, 3, 8);</code></pre>    <p>2、Arrays.sort() 对数组排序</p>    <pre>  <code class="language-java">//void sort(int[] a)全部排序   //void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素  Arrays.sort(arr4);  Arrays.sort(arr5, 0, 5);</code></pre>    <p>3、Arrays.copyOf() 复制数组</p>    <p>```</p>    <p>// int copyOf(int[] original, int newLength)复制数组,指定新数组长度</p>    <p>// int[] copyOfRange(int[] original, int from, int to)复制数组,指定所复制的原数组的索引</p>    <p>int[] arr6 = Arrays.copyOf(arr5, 10);</p>    <p>int[] arr7 = Arrays.copyOfRange(arr5, 3, 9);</p>    <pre>  <code class="language-java">4、检查数组中是否包含某一个值</code></pre>    <p>// 先使用Arrays.asList()将Array转换成List<String>,</p>    <p>//再用动态链表的contains方法判断元素是否包含在链表中。</p>    <p>String stringArray [] = {"a","b","c","d"};</p>    <p>boolean b = Arrays.asList(stringArray).contains("c");</p>    <pre>  <code class="language-java">5、连接两个数组</code></pre>    <p>int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);</p>    <pre>  <code class="language-java">6、数组翻转</code></pre>    <p>ArrayUtils.reverse(intArray);</p>    <pre>  <code class="language-java">7、从数组移除一个元素</code></pre>    <p>int[] removed = ArrayUtils.removeElement(intArray, 3);</p>    <p>```</p>    <p> </p>    <p>来自:http://www.jianshu.com/p/e0d3d8c89824</p>    <p> </p>