Java中 Array、Arrays与ArrayList

A, Array class

Array class provides methods to dynamically create and access Java arrays.

ArrayAllow widening conversions during a get or set operation, but if a narrowing conversion occurs is thrown IllegalArgumentException

Example: The following is an array of objects

public  class Demo01Array {
     public  static  void main (String [] args) {
         / * object array: the array definition to carry objects 
        * Disadvantages: Once the array to determine the length, can not be modified 
        * * / 
        the Person [] Person = new new the Person [. 3 ]; 
        the Person One = new new the Person ( "Bob", 18 is ); 
        the Person TWO = new new the Person ( "Li", 28 ); 
        the Person Three = new new the Person ( "Zhang", 38 is ); 
        Person [ 0] = One;     // address value 
        person [1] = two;    // address values 
        Person [2] = Three;   // address value 
        System.out.println (Person [0 ] .getName ()); 
        System.out.println (Person [ 0 ] .getAge ()); 
    } 
}

Use the Person class

public class Person {
    //属性
    private String name;
    private int age;
    //方法
    public Person() {
    }
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

 

 

Two, ArrayList class

1. Adding an element to ArrayList using add () method

 
 
import java.util.ArrayList;

public
class Demo02ArrayList { public static void main(String[] args) { //创建了一个ArrayList集合,集合的名称是list,类型为String //备注:从JDK1.7+右边的尖括号可以不写类型,但是尖括号必须有 ArrayList<String> list = new ArrayList<String>(); //向集合中添加数据,使用add()方法 list.add("小明"); list.add("小李"); list.add("小张"); System.out.println(list); } }
 数组一旦确定,长度不可改变
但是ArrayList类长度是可以变化的,使用add()方法进行添加元素

注意事项:对于ArrayList集合来说,打印的不是地址值,而是内容
如果内容为空,则打印的结果是中括号[]
2.ArrayList中常用的方法
public boolean add(E e):向集合中添加元素,元素类型与泛型一致
public E get(int index):从集合中获取元素,参数是索引编号,返回值是对应位置的元素
public E remove(int index):从集合中删除元素,参数是索引编号,返回值是被删除的元素
public int size():返回集合的长度
 
 
import java.util.ArrayList;

public
class Demo03ArrayListMethod { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //向集合中添加元素 list.add("安徽"); list.add("河北"); list.add("河南"); System.out.println(list); //从集合中获取元素 System.out.println(list.get(1)); //从集合中删除元素 System.out.println(list.remove(2)); System.out.println("删除后的集合:"+list); } }

3.对ArrayList进行遍历

import java.util.ArrayList;

public class Demo04ArrayListEach {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("小明");
        list.add("小李");
        list.add("小张");
        //对集合进行遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

4.ArrayList中的泛型

集合的泛型只能是引用类型
如果想要使用基本数据类型,则需要将其转换为对应的包装类
基本数据类型 包装类
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean
从JDK1.5开始可以自动实现装箱和拆箱
自动装箱:基本数据类型 --> 引用类型
自动拆箱: 引用类型 --> 基本数据类型
public class Demo05ArrayListBasic {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        list.add(100);
        list.add(200);
        list.add(300);
        System.out.println(list.get(0));
    }
}

三、Arrays类

Arrays是一个与数组有关的类,提供了大量的静态方法来操作数组。
public static String toString(数组):将数组转换为字符串,默认格式为[元素1,元素2,元素3...]
public static void sort(数组):对参数数组按照升序(从小到大)进行排序
注意事项:
①如果对数字进行排序,则是按照数字的大小的顺序进行排序
②如果对字符串进行排序,则是按照字母的先后的顺序进行排序
import java.util.Arrays;

public class Demo01Arrays {
    public static void main(String[] args) {
        //将数组转换为字符串
        int[] arr1 = {1,2,3};
        String str = Arrays.toString(arr1);
        System.out.println("(1)将数组转换为字符串:"+str);
        //对整型数组进行排序
        int[] arr2 = {45,21,2,24,35,26};
        Arrays.sort(arr2);
        System.out.println("(2)对数组进行排序:"+Arrays.toString(arr2));
        //对字符串数组进行排序
        String[] str1 = {"abc","bcd","cde"};
        Arrays.sort(str1);
        System.out.println("(3)对字符串数组进行排序:"+Arrays.toString(str1));
    }
}

小练习:对给定的字符串,按照升序排序并进行倒序打印

public class Demo02ArraysPractise {
    public static void main(String[] args) {
        String str = "123daeffcsgrduirjr7tadwQG";
        //将字符串转换为数组
        char[] chars = str.toCharArray();
        //按照升序排列
        Arrays.sort(chars);
        //将字符数组倒序排列
        for (int i = chars.length - 1; i >= 0; i--) {
            System.out.println(chars[i]);
        }
    }
}

 

Guess you like

Origin www.cnblogs.com/my-program-life/p/11617104.html