Java中关于数组的常用方法


一、Array类方法摘要


Array类继承于java.lang.reflect

父类为java.lang.Object

继承者 java.lang.reflect.Array ——>public final class Array

extends

Object

Array 类提供了动态创建和访问 Java 数组的方法。

Array 允许在执行 get 或 set 操作期间进行扩展转换,但如果发生收缩转换,则抛出 IllegalArgumentException。

返回值类型方法返回值描述
static Objectget(Object array, int index)返回指定数组对象中索引组件的值。
static booleangetBoolean(Object array, int index)以 boolean 形式返回指定数组对象中索引组件的值。
static bytegetByte(Object array, int index)以 byte 形式返回指定数组对象中索引组件的值。
static chargetChar(Object array, int index)以 char 形式返回指定数组对象中索引组件的值。
static doublegetDouble(Object array, int index)以 double 形式返回指定数组对象中索引组件的值。
static floatgetFloat(Object array, int index)以 float 形式返回指定数组对象中索引组件的值。
static intgetInt(Object array, int index)以 int 形式返回指定数组对象中索引组件的值。
static intgetLength(Object array)以 int 形式返回指定数组对象的长度。
static longgetLong(Object array, int index)以 long 形式返回指定数组对象中索引组件的值。
static shortgetShort(Object array, int index)以 short 形式返回指定数组对象中索引组件的值。
static ObjectnewInstance(Class componentType, int… dimensions)创建一个具有指定的组件类型和维度的新数组。
static ObjectnewInstance(Class componentType, int length)创建一个具有指定的组件类型和长度的新数组。
static voidset(Object array, int index, Object value)将指定数组对象中索引组件的值设置为指定的新值。
static voidsetBoolean(Object array, int index, boolean z)将指定数组对象中索引组件的值设置为指定的 boolean 值。
static voidsetByte(Object array, int index, byte b)将指定数组对象中索引组件的值设置为指定的 byte 值。
static voidsetChar(Object array, int index, char c)将指定数组对象中索引组件的值设置为指定的 char 值。
static voidsetDouble(Object array, int index, double d)将指定数组对象中索引组件的值设置为指定的 double 值。
static voidsetFloat(Object array, int index, float f)将指定数组对象中索引组件的值设置为指定的 float 值。
static voidsetInt(Object array, int index, int i)将指定数组对象中索引组件的值设置为指定的 int 值。
static voidsetLong(Object array, int index, long l)将指定数组对象中索引组件的值设置为指定的 long 值。
static voidsetShort(Object array, int index, short s)将指定数组对象中索引组件的值设置为指定的 short 值。

二、常用方法详述


1 声明一个数组

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

2 输出一个数组

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]  

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

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

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

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

5 连接两个数组

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

6 声明一个内联数组(Array inline)

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

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

// 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  

8 将一个数组列表转换为数组

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

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

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

10 逆向一个数组

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

11 移除数组中的元素

int[] intArray = { 1, 2, 3, 4, 5 };  
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 t : bytes) {  
   System.out.format("0x%x ", t);  
}  
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值