DAY15:数组扩展

数组拓展

1.main方法的参数

 1.1通过设置configre传入

 1.2命令行运行,通过java类名 参数1 参数2…

2.增强for循环

for(元素类型 变量名:容器){

       循环体

}

//增强for循环

              for(int i:arr){

                     i *= 2;

              }

              //普通for循环

              for (int i = 0; i < arr.length; i++) {

                     int a = arr[i];

                     a *= 2;

                     System.out.println(arr[i]);

              }

3.与普通for循环区别:

1.增强for循环结构简单

2.由于增强for循环无法获取索引,所以不能进行写操作(只能遍历)

3.当容器没有索引的时候,就只能使用增强for循环(迭代器实现)

4..可变参数

([参数1,参数2,数据类型…参数名)(int…arr)

传参的时候,直接传入n个对应数据的值

public static void sum(int a,int b,int...arr){

          int sum = 0;

          for (int i : arr) {

                 sum += i;

          }

          System.out.println(sum);

}

1).只能定义在参数列表的末尾(一个参数列表只能最多定义一个可变参数)

5.split方法

String a = "俊男.凤波.韬闻.德金";

              //特殊符号\\转义

              String[] arr = a.split("\\.");

              System.out.println(Arrays.toString(arr));

Arrarys数组的工具类

Arrays:所有数组的超类

一.常用工具类

1.toString:返回数组的信息字符串

2.equals判断对象内容是否相等

3.判断多位数组使用使用deepToString和 deepEquals

4.fill以指定的值填充数组,可以指定范围

5.int binarySearch(type [ ] a,type key)/ int binarySearch(type [ ] a,int fromIndex,int toIndex,type key)二分查找

6.boolean equals(type [ ] a,type[ ] a2)判断数组是否相同

7.void sort(type[ ] a):对数组进行排序,可以指定范围

 void parallelSort(xxx[ ] a):也是排序算法,但与上面相比可利用cpu并行提高效率

二.数组复制

1.copyOf:复制原数组,从零开始的指定长度,并返回新数组

2.copyOfRange(boolean[] original, int from, int to):从from开始复制到to

3.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

 * src:源数组

 * srcPos:开始从源数组复制的位置

 * dest:目标数组

 * destPos:目标数组的开始粘贴的位置

 * length:要复制的长度

类型排序两种方式

 一.Comparable

 *在要排序的类型上实现Comparable,重写compareTo方法

 *当前对象小于,等于,大于传入的对象,返回负数,0,正数

 *Arrays.sort(Object[] obj);

 二.Comparator

 *生成匿名内部类对象,重写compare方法

 *第一个对象,小于,等于,大于第二个对象,返回负数,0,正数

 *Arrays.sort(Object[] obj,Comparator com);

 *比较:

 *为类型建立永久的自然排序规则,使用第一种

 *临时的使用一种规则比较对象大小,使用第二种

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值