import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
/**
*
* <p>
* Description:关于Java数组的12个最佳方法
* <p>
* <p>
* Copyright:copyright (c) 2013
* <p>
* <p>
* Create Date:2013-10-27
* <p>
* <p>
* Company:ShangHai University
* <p>
*
* @author WANGXU
* @version Id: test.java,v1.1,WANGXU Exp
*/
public class BestMethodAboutArray {
//1.声明一个数组
static String [] aArray = new String[5];
static String [] bArray = {"a","b","c","d","e"};
static String [] cArray = new String[]{"1","2","3","4","5"};
public static void main(String[] args) {
//2.输出一个数组
//print directly will pring reference value
System.out.println(bArray);//[Ljava.lang.String;@e2cb55
//print in this way
System.out.println(Arrays.toString(bArray));
//3.从一个数组创建数组列表
String[] stringArray = {"a","b","c","d","e"};
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
//4.检查一个数组是否包含某个值
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
//5.连接两个数组
int[] intArray = {1,2,3,4,5};
int[] intArray2 = {6,7,8,9,10};
int[] combinedIntArray = ArrayUtils.addAll(intArray,intArray2);
//6.声明一个内联数组
//method(new String[]{"a","b","c","d","e"});
//7.把提供的数组元素放入一个字符串
//apache common lang
String j = StringUtils.join(new String[]{"a","b","c","d","e",","});
System.out.println(j);
//8.将一个数组列表转换成一个数组
String []stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String string : stringArr) {
System.out.println(string);
}
//9.将一个数组转换为集(Set)
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);
//10.逆向一个数组
int [] array = {1,2,3,4,5};
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(array));
//11.移除数组中的元素
int[] removed = ArrayUtils.removeElement(intArray,3);//create a new array
System.out.println(Arrays.toString(removed));
//12.将整数转换为字节数组
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
for (byte c : bytes) {
System.out.format("0x%x ",c);
}
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
/**
*
* <p>
* Description:关于Java数组的12个最佳方法
* <p>
* <p>
* Copyright:copyright (c) 2013
* <p>
* <p>
* Create Date:2013-10-27
* <p>
* <p>
* Company:ShangHai University
* <p>
*
* @author WANGXU
* @version Id: test.java,v1.1,WANGXU Exp
*/
public class BestMethodAboutArray {
//1.声明一个数组
static String [] aArray = new String[5];
static String [] bArray = {"a","b","c","d","e"};
static String [] cArray = new String[]{"1","2","3","4","5"};
public static void main(String[] args) {
//2.输出一个数组
//print directly will pring reference value
System.out.println(bArray);//[Ljava.lang.String;@e2cb55
//print in this way
System.out.println(Arrays.toString(bArray));
//3.从一个数组创建数组列表
String[] stringArray = {"a","b","c","d","e"};
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
//4.检查一个数组是否包含某个值
boolean b = Arrays.asList(stringArray).contains("a");
System.out.println(b);
//5.连接两个数组
int[] intArray = {1,2,3,4,5};
int[] intArray2 = {6,7,8,9,10};
int[] combinedIntArray = ArrayUtils.addAll(intArray,intArray2);
//6.声明一个内联数组
//method(new String[]{"a","b","c","d","e"});
//7.把提供的数组元素放入一个字符串
//apache common lang
String j = StringUtils.join(new String[]{"a","b","c","d","e",","});
System.out.println(j);
//8.将一个数组列表转换成一个数组
String []stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String string : stringArr) {
System.out.println(string);
}
//9.将一个数组转换为集(Set)
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);
//10.逆向一个数组
int [] array = {1,2,3,4,5};
ArrayUtils.reverse(intArray);
System.out.println(Arrays.toString(array));
//11.移除数组中的元素
int[] removed = ArrayUtils.removeElement(intArray,3);//create a new array
System.out.println(Arrays.toString(removed));
//12.将整数转换为字节数组
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
for (byte c : bytes) {
System.out.format("0x%x ",c);
}
}
}