读书人

关于 Java 数组的 12 个绝佳方法

发布时间: 2013-10-24 18:27:21 作者: rapoo

关于 Java 数组的 12 个最佳方法

下面是stackoverflow中关于数组方法的相关问题中,获得最多票数的12个数组操作方法。?

1.? 声明一个数组?

Java代码?
  1. String[]?aArray?=?new?String[5];??
  2. String[]?bArray?=?{"a","b","c",?"d",?"e"};??
  3. String[]?cArray?=?new?String[]{"a","b","c","d","e"};??



2.? 输出一个数组?

Java代码?
  1. int[]?intArray?=?{?1,?2,?3,?4,?5?};??
  2. String?intArrayString?=?Arrays.toString(intArray);??
  3. ???
  4. //?print?directly?will?print?reference?value??
  5. System.out.println(intArray);??
  6. //?[I@7150bd4d??
  7. ???
  8. System.out.println(intArrayString);??
  9. //?[1,?2,?3,?4,?5]??



3.? 从一个数组创建数组列表?


Java代码?
  1. String[]?stringArray?=?{?"a",?"b",?"c",?"d",?"e"?};??
  2. ArrayList<String>?arrayList?=?new?ArrayList<String>(Arrays.asList(stringArray));??
  3. System.out.println(arrayList);??
  4. //?[a,?b,?c,?d,?e]??



4.? 检查一个数组是否包含某个值?


Java代码?
  1. String[]?stringArray?=?{?"a",?"b",?"c",?"d",?"e"?};??
  2. boolean?b?=?Arrays.asList(stringArray).contains("a");??
  3. System.out.println(b);??
  4. //?true??



5.? 连接两个数组?

Java代码?
  1. int[]?intArray?=?{?1,?2,?3,?4,?5?};??
  2. int[]?intArray2?=?{?6,?7,?8,?9,?10?};??
  3. //?Apache?Commons?Lang?library??
  4. int[]?combinedIntArray?=?ArrayUtils.addAll(intArray,?intArray2);??



6.? 声明一个内联数组?


Java代码?
  1. method(new?String[]{"a",?"b",?"c",?"d",?"e"});??



7.? 把提供的数组元素放入一个字符串?


Java代码?
  1. //?containing?the?provided?list?of?elements??
  2. //?Apache?common?lang??
  3. String?j?=?StringUtils.join(new?String[]?{?"a",?"b",?"c"?},?",?");??
  4. System.out.println(j);??
  5. //?a,?b,?c??



8.? 将一个数据列表转换为数组?

Java代码?
  1. String[]?stringArray?=?{?"a",?"b",?"c",?"d",?"e"?};??
  2. ArrayList<String>?arrayList?=?new?ArrayList<String>(Arrays.asList(stringArray));??
  3. String[]?stringArr?=?new?String[arrayList.size()];??
  4. arrayList.toArray(stringArr);??
  5. for?(String?s?:?stringArr)??
  6. ????System.out.println(s);??



9.? 将一个数组转换为集(set)?


Java代码?
  1. Set<String>?set?=?new?HashSet<String>(Arrays.asList(stringArray));??
  2. System.out.println(set);??
  3. //[d,?e,?b,?c,?a]??



10.? 逆向一个数组?

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



11.? 移除数组中的元素?

Java代码?
  1. int[]?intArray?=?{?1,?2,?3,?4,?5?};??
  2. int[]?removed?=?ArrayUtils.removeElement(intArray,?3);//create?a?new?array??
  3. System.out.println(Arrays.toString(removed));??



12.? 将整数转换为字节数组?

Java代码?
  1. byte[]?bytes?=?ByteBuffer.allocate(4).putInt(8).array();??
  2. ???
  3. for?(byte?t?:?bytes)?{??
  4. ???System.out.format("0x%x?",?t);??
  5. } ?

读书人网 >编程

热点推荐