Blog Detail

  • Java数组的12个常用方法

    以下是12个关于Java数组最常用的方法,它们是stackoverflow得票最高的问题。

    声明一个数组

    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);

    // print directly will print reference value

    System.out.println(intArray);

    // [I@7150bd4d

    System.out.println(intArrayString);

    // [1, 2, 3, 4, 5]

    根据数组创建ArrayList

    String[] stringArray = { "a", "b", "c", "d", "e" };

    ArrayList arrayList = new ArrayList(Arrays.asList(stringArray));

    System.out.println(arrayList);

    // [a, b, c, d, e]

    判断数组内部是否包含某个值

    String[] stringArray = { "a", "b", "c", "d", "e" };

    boolean b = Arrays.asList(stringArray).contains("a");

    System.out.println(b);

    // true

    连接两个数组

    int[] intArray = { 1, 2, 3, 4, 5 };

    int[] intArray2 = { 6, 7, 8, 9, 10 };

    // Apache Commons Lang library

    int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

    声明一个内联数组(array inline)

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

    根据分隔符拼接数组元素(去掉最后一个分隔符)

    // containing the provided list of elements

    // Apache common lang

    String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");

    System.out.println(j);

    // a, b, c

    ArrayList转数组

    String[] stringArray = { "a", "b", "c", "d", "e" };

    ArrayList arrayList = new ArrayList(Arrays.asList(stringArray));

    String[] stringArr = new String[arrayList.size()];

    arrayList.toArray(stringArr);

    for (String s : stringArr)

    System.out.println(s);

    Array转Set

    Set set = new HashSet(Arrays.asList(stringArray));

    System.out.println(set);

    //[d, e, b, c, a]

    反转数组

    int[] intArray = { 1, 2, 3, 4, 5 };

    ArrayUtils.reverse(intArray);

    System.out.println(Arrays.toString(intArray));

    //[5, 4, 3, 2, 1]

    删除数组元素

    int[] intArray = { 1, 2, 3, 4, 5 };

    int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array

    System.out.println(Arrays.toString(removed));

    整形转字节数组

    byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();

    for (byte t : bytes) {

    System.out.format("0x%x ", t);

    }

    译文链接:http://www.programcreek.com/2013/09/top-10-methods-for-java-arrays/