package com.wqm;
import com.wqm.entity.pojo.TUser;
import java.util.Arrays;
import java.util.List;
/**
* @Auther: wangqinmin
* @Date: 2018/11/19 14:28
* @Description: 无聊看看
*/
public class ArrayTest {
public static void main(String[] args) {
// 定义一个常量
final String EMPTY = ",";
// 数组的定义 我只喜欢这种格式
String[] strs = {"Larry", "Moe", "Curly"};
Integer[] ines = {2, 5, 6, 3, 1, 4, 2};
Integer[] ins = {2, 5, 6, 3, 1, 4, 2};
TUser[] users = {new TUser(), new TUser()};
TUser[] user = {new TUser(), new TUser()};
users = null;
user = null;
// 数组的遍历
System.out.print("数组遍历: ");
for (int a = 0; a < strs.length; a++) {
if (a == strs.length - 1) {
System.out.print(strs[a]);
System.out.println();
} else {
System.out.print(strs[a] + ",");
}
}
// java增强for数组遍历
System.out.print("增强for遍历: ");
StringBuffer sb = new StringBuffer();
for (String data : strs) {
sb.append(data);
sb.append(EMPTY);
}
sb.deleteCharAt(sb.length() - 1);
System.out.print(sb.toString());
System.out.println();
/**
* Arrays常用方法
*/
// 未排序
System.out.println("未排序: " + Arrays.toString(ins));
// 指定位置排序 sort(int[] a, int fromIndex, int toIndex)
Arrays.sort(ins, 1, 4);
System.out.println("Arrays指定位置排序并toString: " + Arrays.toString(ins));
// 排序
Arrays.sort(ins);
// toString
String sortIns = Arrays.toString(ins);
System.out.println("Arrays排序并toString: " + sortIns);
// 返回list集合
List<Integer> listInt = Arrays.asList(ins);
List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
System.out.println("集合打印: " + listInt);
System.out.println("集合打印: " + stooges);
// 使用二分法查找数组中元素的位置
int i = Arrays.binarySearch(ins, 10);
System.out.print("二分法查找数组中该元素的位置: " + i);
if (i < 0) {
System.out.print(", 若为负数,则" + Math.abs(i) + "代表可以被插入的位置(记得-1)");
}
System.out.println();
// copy该数组到指定位置
Integer[] integers = Arrays.copyOf(ins, 10);
System.out.println("copy该数组到指定位置: " + Arrays.toString(integers));
// 截取该数组
Integer[] integers1 = Arrays.copyOfRange(ins, 2, 4);
System.out.println("截取该数组: " + Arrays.toString(integers1));
// 如果两个指定数组彼此是深层相等,相等则返回 true。
boolean b = Arrays.deepEquals(users, user);
System.out.println("数组" + users + "与数组" + user + "是否深层相等: " + b);
// 比较2个数组彼此是否相等(没用到,不知道和deepEqusls区别)
//boolean equals = Arrays.equals(ines, ins);
boolean equals = Arrays.equals(users, user);
System.out.println(equals);
// 指定数组“深层内容”的字符串表示形式
String s = Arrays.deepToString(user);
System.out.println("深层内容”的字符串表示" + s);
// 基于指定数组的“深层内容”返回哈希码
int i1 = Arrays.deepHashCode(user);
System.out.println("深层内容”返回哈希码: " + i1);
// 将指定数据分配到数组中,相当于替换数组中所有数据
Arrays.fill(integers, 2);
// fill替换功能: [2, 2, 2, 2, 2, 2, 2, 2, 2, 2]
System.out.println("fill替换功能: " + Arrays.toString(integers));
// fill(int[] a, int fromIndex, int toIndex, int val)
Arrays.fill(integers, 1, 3, 5);
// fill指定位置替换功能: [2, 5, 5, 2, 2, 2, 2, 2, 2, 2]
System.out.println("fill指定位置替换功能: " + Arrays.toString(integers));
}
}
java数组常用方法
猜你喜欢
转载自blog.csdn.net/chuxin_mm/article/details/84285904
今日推荐
周排行