详见java文档arraylist
ArrayList集合
1 对象数组
java.util.ArrayList
-
数组Array长度不可改变,但是ArrayList长度可变
-
ArrayList有一个
<E>
代表泛型 -
泛型:集合中所有元素全都是
<>
中统一的类型
备注:从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的。 -
ArrayList直接打印得到内容,与数组Array打印得到地址值不同
2. 常用方法
-
添加元素
list.add()
、boolean success = list.add()
public boolean add(E e)
,返回值代表添加是否成功,仅ArrayList的add一定成功 -
返回指定下标元素:
list.get()
-
返回元素个数:
list.size()
-
删除指定下标元素,返回值是被删除的该元素:
list.remove()
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
list.add("井口裕香");
System.out.println(list.get(0));
System.out.println(list.size());
System.out.println("remove" + list.remove(0));
}
3. 存储基本类型
泛型只能为引用类型,不能为基本类型:应为集合里保存的都是地址值,而基本类型没有地址值
若需要向ArrayList存储基本类型,必须使用基本类型的包装类
基本类型 | 包装类 |
---|---|
int | Integer |
char | Character |
byte | Byte |
其余基本类型的包装类名都是首字母大写
public static void main(String[] args) {
ArrayList<Integer> listA = new ArrayList<>();
listA.add(100);
System.out.println(listA);
int num = listA.get(0);
System.out.println("elem1:" + num);
}
2 Arrays工具类
java.util.Arrays是一个与数组相关的工具了,静态方法,实现数组常见操作
方法:
public static String toString(int[] a)
:返回指定数组内容的字符串表示形式。public static void sort(int[] a)
:按照默认升序,对数组元素排序
public static void main(String[] args) {
int[] intArray1 = {10, 20, 30};
String intStr = Arrays.toString(intArray1);
System.out.println(intStr); // [10, 20, 30]
int[] intArray2 = {2, 3, 1, 4, 7, 5};
Arrays.sort(intArray2);
System.out.println(Arrays.toString(intArray2)); // [1, 2, 3, 4, 5, 7]
}
注意:
- sort 数值或字符串都默认按照升序(字母升序)排列
- 自定义类型需要有Comparable或接口的支持
练习
将一个字符串转化为数组并倒序输出
String str = "adagfghjngujk456468dnvbcbvb";
char[] chars = str.toCharArray();
Arrays.sort(chars);
for (int i = chars.length - 1; i >= 0; i--) {
System.out.print(chars[i]); // vvunnkjjhgggfddcbbbaa866544