您的位置:首页 > 编程语言 > Java开发

Java中关于数组的常用方法

2017-12-12 20:00 411 查看

一、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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 数组