java 填充数组_java数组d的填充、复制、比较排序

1、数组填充

String[] a=new String[3];

Arrays.fill(a,"222");

System.out.println("a="+Arrays.asList(a));//a=[222, 222, 222]

2、数组复制

String[] b=new String[3];

System.arraycopy(a,0, b, 1, a.length-1);

//System.arraycopy(src, srcPos, dest, destPos, length);

System.out.println("b="+Arrays.asList(b));//b=[null, 222, 222]

3、数组的比较

b[0]="999";

System.out.println("Arrays.equals(a, b)?"+Arrays.equals(a, b));//false

基本数据类型,需要使用基本类型的包装类的equals()方法:

Integer q=3;

System.out.println(q.equals(4));//false

4、数组元素的比较

java有两种方式提供比较功能。

(1)实现java.lang.Comparable接口,只有一个comparaTo()方法,一个类CustomClass实现该方法过后可以使用Arrays.sort(c);

public static class CustomClass implementsComparable {

@Overridepublic intcompareTo(Object arg0) {//TODO Auto-generated method stub

return 0;

}

}

{

CustomClass[] c=new CustomClass[10];//初始化c

Arrays.sort(c);

System.out.println("after Arrays.sort(c),c="+Arrays.asList(c));

}

倒转排序

Arrays.sort(c,Collections.reverseOrder());

(2)Comparator

class CustomComparator1 implementsComparator{

@Overridepublic intcompare(Object arg0, Object arg1) {//TODO Auto-generated method stub

return 0;

}

}

{

CustomClass[] c=new CustomClass[10];//初始化c

Arrays.sort(c,newCustomComparator1());

System.out.println("after Arrays.sort(c),c="+Arrays.asList(c));

}

数组排序(总结)

使用内置的排序方法Arrays.sort(),就可以对任意的基本类型数组排序;

也可以对任意的对象数组进行排序,只要该对象  a.实现了Comparable接口  b.或者具有相关联的Comparator

在已经排序好的数组进行查找

如果数组已经排序好了,就可以使用Arrays.binarySearch()进行快速查找,不能对未排序的数组使用binarySearch()

intposition;

CustomClass key=newCustomClass();

position=Arrays.binarySearch(c, key);

System.out.println(position);

4744ec5c609dcf88b9b150d1e0e81588.png

3fb65667bd6e73b4b514125f296446ec.png

position=Arrays.binarySearch(c, key,new CustomComparator1());

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值