芯が強い人になるESTJ-A

# Arrays工具类十大常用方法

IT開発 Tags: 无标签 阅读: 215

声明数组

String[] aArray = new String[5];  
String[] bArray = {"a","b","c", "d", "e"};  
String[] cArray = new String[]{"a","b","c","d","e"};  

打印数组

int[] intArray = { 1, 2, 3, 4, 5 };  
String intArrayString = Arrays.toString(intArray);  
   
// 直接打印,则会打印出引用对象的Hash值  
//System.out.println(intArray)==>output:[I@7150bd4d  -->HashCode
// [I@7150bd4d  -->HashCode
System.out.println(intArray);  
  
// [1, 2, 3, 4, 5]  
System.out.println(intArrayString);  =System.out.println(Arrays.toString(intArray));

根据数组创建ArrayList

String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
// [a, b, c, d, e]
System.out.println(arrayList);

检查数组是否包含某个值

String[] stringArray = { "a", "b", "c", "d", "e" };
boolean b = Arrays.asList(stringArray).contains("a");
// true
System.out.println(b);

合并连接两个数组

int[] intArrayA = { 1, 2, 3, 4, 5 };
int[] intArrayB = { 6, 7, 8, 9, 10 };
// Apache Commons Lang 库
int[] combinedIntArray = ArrayUtils.addAll(intArrayA, intArrayB);

声明内联数组

method(new String[]{"a", "b", "c", "d", "e"});

用给定的字符串连结(join)数组

// containing the provided list of elements
// Apache common lang
String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");
// a, b, c
System.out.println(j);

将ArrayList转换为数组

String[] stringArray = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String s : stringArr)
    System.out.println(s);

将数组转换为Set

Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
//[d, e, b, c, a]
System.out.println(set);

数组元素反转

int[] intArray = { 1, 2, 3, 4, 5 };
ArrayUtils.reverse(intArray);
//[5, 4, 3, 2, 1]
System.out.println(Arrays.toString(intArray));

移除元素

int[] intArray = { 1, 2, 3, 4, 5 };
int[] removed = ArrayUtils.removeElement(intArray, 3);//创建新的数组
System.out.println(Arrays.toString(removed));

更多——转换int值为字节数组

byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
 
for (byte t : bytes) {
   System.out.format("0x%x ", t);
}