Java学习笔记:Arrays
来源:互联网 发布:钣金外壳 软件 编辑:程序博客网 时间:2024/05/20 07:15
import java.util.Arrays;
// public static int binarySearch(byte[] a, byte key);
// 使用二分法查询key元素值在a数组中出现的索引;
// 如果a数组不包含key元素值,则返回负数(-0-1)。调用该方法时要求数组中元素已经按升序排列,否则出错
// 如果byte[] 中含有多个 key,则不能确定是哪一个key被找到
int[] types1 =newint[]{1,2, 3, 4,4, 4,5, 6, 7,8, 9,10};
int idx = Arrays.binarySearch(types1,4);
System.out.println(idx);
// 5
// public static int binarySearch(byte[] a, int fromIndex, int toIndex, byte key);
// 使用二分法查询key元素在a数组中fromIndex到toIndex索引的元素,调用这个方法时要求数组中元素已经按升序排列好,否则出错。
// 如果a数组中范围fromIndex到toIndex不包含key元素值,则返回负数(-fromIndex-1).
// 如果byte[]fromIndex到toIndex范围中包含多个key,则不能确定是哪一个key被找到
// 如果 fromIndex > toIndex --> IllegalArgumentException
// 如果 fromIndex < 0 || toIndex > types2.length --> ArrayIndexOutOfBoundsException
int[] types2 =newint[]{1,2, 3, 4,5, 6,7, 8, 8,9, 9,9, 10};
idx = Arrays.binarySearch(types2,2,10, 5);
System.out.println(idx);
// 4
// public static byte[] copyOf(byte[] original, int newLength);
// 这个方法将会把original数组复制成一个新数组,其中newLength是新数组的长度,如果newLength小于original数组的长度,则新数组就是原数组的前面newLength个元素;如果newLength大于original数组的长度,则新数组的前面元素就是原数组的所有元素,后面补充0(数组型)、false(布尔型)或者null(引用型)
// 如果newLength是负数(negative)的话 --> NegativeArraySizeException
// 如果original是空 --> NullPointerException
String[] strings =new String[]{"aaa","bbb","ccc","ddd","eee"};
String[] copyStrings = Arrays.copyOf(strings,7);
for (String s : copyStrings) {
System.out.print(s +" ,");
}
System.out.println();
// aaa ,bbb ,ccc ,ddd ,eee ,null ,null ,
// public static byte[] copyOfRange(byte[] original, int from, int to);
// 这个方法会把original数组复制成一个新数组,但这个方法只复制original数组的from索引到to(不包括to)索引的元素,如果to大于original数组的长度,则在后面补充0(数组型)、false(布尔型)、或则null(应用型)
// 如果from < 0 或则 from > original.length --> ArrayIndexOutOfBoundsException
// 如果from > to --> IllegalArgumentException
// 如果original == null --> NullPointerException
char[] chars = {'a','b','c', 'd', 'e', 'f'};
char[] copyChars = Arrays.copyOfRange(chars,3, 10);
for (char c : copyChars) {
System.out.print(c +", ");
}
System.out.println();
// d, e, f, , , , ,
// public static boolean equals(byte[] a, byte[] a2);
// 如果a数组和a2数组的长度相等,而且a数组和a2数组的数组元素也一一相同,该方法将返回true
// 如果a数组和a2数组都为null,该方法也返回true
String[] sArray1 =new String[]{"aaa","bbb","ccc"};
String[] sArray2 =new String[]{"aaa","bbb","ccc"};
boolean b = Arrays.equals(sArray1, sArray2);
System.out.println(b);
// true
Person[] p1 =new Person[1];
Person[] p2 =new Person[1];
Person xiaoming =new Person();
xiaoming.age =10;
xiaoming.height =20;
p1[0] = xiaoming;
Person xiaohong =new Person();
xiaohong.age =10;
xiaohong.height =20;
p2[0] = xiaohong;
b = Arrays.equals(p1, p2);
System.out.println(b);
// false
// public static void fill(byte[] a, type val);
// 该方法将会把a数组所有元素值都赋值为val
String[] sArray =new String[5];
Arrays.fill(sArray,"HelloWorld!");
for (String s : sArray) {
System.out.println(s);
}
// HelloWorld!
// HelloWorld!
// HelloWorld!
// HelloWorld!
// HelloWorld!
// public static void fill(byte[] a, int fromIndex, int toIndex, byte val);
// 该方法会把a数组中从fromIndex到toIndex(不包括toIndex)索引之间的元素赋值为val
// 如果fromIndex > toIndex --> IllegalArgumentException
// 如果fromIndex < 0 或者 toIndex > a.length --> ArrayIndexOutOfBoundsException
boolean[] bArrays = {true,false,false,true,true,false};
Arrays.fill(bArrays,0, bArrays.length -1, true);
for (boolean bool : bArrays) {
System.out.print(bool +", ");
}
System.out.println();
// true, true, true, true, true, false,
// public static void sort(byte[] a);
// 该方法对a数组的数组元素进行排序(升序)
int[] iArrays = {10,9,8, 7, 6, 5,4,3, 2, 1};
Arrays.sort(iArrays);
for (int a : iArrays) {
System.out.print(a +", ");
}
System.out.println();
// 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
// public static void sort(byte[] a, int fromIndex, int toIndex);
// 该方法会把a数组中从fromIndex到toIndex(不包括toIndex)索引之间的元素进行升序排列
// 如果fromIndex > toIndex --> IllegalArgumentException
// 如果fromIndex < 0 或者 toIndex > a.length --> ArrayIndexOutOfBoundsException
float[] fArrays = {10.10f,9.9f,8.8f,7.7f, 6.6f,5.5f, 4.4f,2.2f, 1.1f,3.3f};
Arrays.sort(fArrays,3, fArrays.length);
for (float f : fArrays) {
System.out.print(f +", ");
}
System.out.println();
// 10.1, 9.9, 8.8, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7,
// public static String toString(byte[] a);
// 该方法将一个数组转换成一个字符串,该方法按顺序把多个数组元素连缀在一起,多个数组元素使用英文逗号(,)和空格隔开,字符串两端用[]包起来
// 如果数组为空,则返回[]
boolean[] bArrays1 = {false,true,true,false,true};
String s = Arrays.toString(bArrays1);
System.out.println(s);
// [false, true, true, false, true]
- Java学习笔记:Arrays
- java学习笔记之Arrays.asList
- Java学习笔记(8)Multidimensional Arrays
- Java学习笔记之Arrays工具类
- Java学习笔记 02 Java Arrays 类的各种用法
- Java的Arrays-笔记
- Java Arrays 源码 笔记
- java学习笔记之Arrays类(二分查找)
- Java学习笔记-Collections和Arrays工具类
- Java学习笔记(7)Single-Dimentional Arrays
- JAVA学习笔记(3)--Arrays类使用详解
- Java学习笔记2——Arrays类
- Java Arrays学习
- 【Java】Arrays相关学习
- jdk1.5 Arrays 学习笔记
- Java笔记 - 集合(Arrays)
- Java学习笔记(Java中的数组/循环操作/Arrays类)
- 黑马程序员java学习笔记——Collections、Arrays工具类和其他对象
- C# 排序列表(SortedList)
- 使用泛型的单链表
- I love you 转变为 I evol uoy
- Iframe 自适应高度应用
- CocoaPods进阶:本地包管理
- Java学习笔记:Arrays
- Unity中使用UGUI与ScrollView的练习
- Speech Memorization
- Nginx运行php的配置
- HDOJ-1024 Max Sum Plus Plus (最大M子段和问题)
- 【leetcode】Remove Linked List Elements
- 【Quartz】Quartz存储与持久化-基于quartz.properties的配置
- Android中基于HTTP的通信技术(4)使用HttpClient进行Post方式通信
- Android 深入ViewPager补间动画,实现类京东商城首页广告Banner切换效果