您的位置:首页 > 编程语言 > Java开发

Java自学笔记

2017-05-31 00:00 169 查看
记不住 写到微博上 重复学习 时而习之 不亦乐乎

Java.util.Arrays
以下所有功能都要引用包;
import java.util.Arrays;
1.数组的排序

int a[]={1,5,3,8,7};
Arrays.sort(a); //实现对数组从小到大的排序
此类中只有升序 没有降序;

2.数组元素的定位查找
int find
int a[]={1,2,3,5,8};
find = Arrays.binarySearch(a,8);
// find 为数字在数组中的下标
a 为将要查询的数组 8 为想要查询的数字
对于Object类型的数组进行查询的该方法需要注意的是,我们传入的数组的成员要实现了Comparable接口。
另外需要注意的是,对于类似binarySearch(Object[] array, int startIndex, int endIndex, Object value)的方法,查询的范围是从startIndex到endIndex,但是包含startIndex,不包含endIndex。
3.数组的打印
String aString = Arrays.toString(a);
//String 前的a与括号中的a 均表示数组名称
System.out.println(aString);
//String前的a表示数组名称

toString
关于该方法有以下几点要注意:
1. 如果传入的数组没有初始化,那么输出的是字符串null.
2. 如果传入的数组长度为0,那么输出字符串“[]”。
3. 如果数组的成员是Object,那么输出的就是该Object的toString方法返回的值。
deepToString
如果数组的成员还是数组,那么我们调用toString就得不到最底层的成员的值。这个时候我们就可以调用deepToString。

4 查看数组对象中是否有特定的值
boolean m = Arrays.asList(a).contains(1);
System.out.println(m);
//true 或者 false

数组拷贝如下:

import java.util.Arrays;
public class ArrayList {
private Object[] list;  //使用Object数组收集;
private int next;  // 下一个可储存的对象;
public ArrayList(int capacity) { //指定初始容量;
list = new Object [capacity];
}
public ArrayList() {
this(16);        //初始容量为16;
}
public void add(Object o) {    //收集对象方法
if(next == list.length) {  //自动增长Object数组长度;
list = Arrays.copyof(list,list.length*2);
}
list[next++] = o;
}
public Object get(int index) {  //依索引取得收集的对象;
return list[index];
}
public int size()  {  //已收集的对象个数;
return next;
}

}

copyOf 和 copyOfRange
注意copyOfRange中的end也是不包含在copy的范围内的

参考 http://aswater.iteye.com/blog/471848 http://blog.csdn.net/sunberryl/article/details/51971372
其他参考来源于林信良的JDK 8
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java.util.Arrays