java常用API(3)ArrayList集合、Arrays工具类、

详见java文档arraylist

ArrayList集合

1 对象数组

java.util.ArrayList

  • 数组Array长度不可改变,但是ArrayList长度可变

  • ArrayList有一个代表泛型

  • 泛型:集合中所有元素全都是<>中统一的类型
    备注:从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]
    }

注意:

  1. sort 数值或字符串都默认按照升序(字母升序)排列
  2. 自定义类型需要有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

你可能感兴趣的:(java,#,java常用API)