Java教程

java学习--ArrayList集合讲解

本文主要是介绍java学习--ArrayList集合讲解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

/*
 * 数组的长度不可以发生改变
 *
 * 但是ArrayList集合的长度是可以随意变化的。
 *
 * 对于ArrayList来说,有一个尖括号<E>代表泛型。
 * 泛型:也就是装在集合中的所有元素,全都是统一的什么类型。
 * 注意:泛型只能是引用类型,不是基本类型
 *
 *  注意事项:
 *  对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。
 *  对于内容为空,得到的是空的中括号:[]
 *
 * 常用方法:
 * public boolean add(E e)
 * public E get(int index)
 * public E remove(int index)  参数时索引编号,返回值时被删除的元素
 * public int size()  获取集合尺寸长度,返回值时元素个数
 *
 *
 *
 *
 * 如果希望向集合ArrayList中存储基本类型,必须使用基本类型对应的包装类
 * 基本类型    包装类(引用类型,都位于java.lang包下)
 * byte       Byte
 * short      Short
 * int        Integer    【特殊】
 * long       Long
 * float      Float
 * double     Double
 * char       Character  【特殊】
 * boolean    Boolean
 *
 * 从jdk1.5开始,支持自动装箱、自动拆箱,不需要人工干预
 * 自动装箱:基本类型--->包装类型
 * 自动拆箱:包装类型--->基本类型
 *
 *
 * */

package cn.zst.day07.demo03;

import java.util.ArrayList;
import java.util.Random;


public class Demo02ArrayList {

    public static void main(String[] args) {
        // 创建一个ArrayList集合,集合名称是list,里面装的全部是String字符串类型数据
        // 备注:从JDK1.7开始,右侧尖括号<>中可以不写内容,但是<>本身要写
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list); // []

        //添加
        list.add("赵丽颖");
        list.add("古力娜扎");
        System.out.println(list);

        // 获取
        String name = list.get(1);
        System.out.println(name);

        //删除
        String whoRemoved = list.remove(0);
        System.out.println(whoRemoved);
        System.out.println(list);

        //长度
        int size = list.size();
        System.out.println(size);


        // 基本类型的集合
        ArrayList<Integer> listC = new ArrayList<>();
        listC.add(100);
        listC.add(200);
        int n = listC.get(1);
        System.out.println("第一号元素是:" + n);

        System.out.println("=============================");



        //练习
        //1.生成6个1~33之间的随机整数,添加集合,并遍历集合
        ArrayList<Integer> listD = new ArrayList<>();
        Random r = new Random();
        for (int i = 0; i < 6; i++) {
            int num = r.nextInt(33) + 1;
            listD.add(num);
        }
        System.out.println(listD);

        for (int i = 0; i < listD.size(); i++) {
            System.out.println(listD.get(i));
        }

        System.out.println("=============================");

        //2.自定义4个学生对象,添加到集合,并遍历集合
        ArrayList<Person> listStudent = new ArrayList<>();
        listStudent.add(new Person("张三", 18));
        listStudent.add(new Person("李四", 28));
        listStudent.add(new Person("王五", 38));
        listStudent.add(new Person("赵六", 48));
        System.out.println(listStudent);
        for (int i = 0; i < listStudent.size(); i++) {
            System.out.println("姓名:" + listStudent.get(i).getName() + ",年龄:" + listStudent.get(i).getAge());
        }


        System.out.println("=============================");


        //3.定义以指定格式打印集合的方法(ArrayList作为参数),打印以 {元素@元素} 的字符串
        ArrayList<String> listE = new ArrayList<>();
        listE.add("乔峰");
        listE.add("段誉");
        listE.add("虚竹");
        listE.add("阿朱");
        listE.add("王语嫣");
        listE.add("西夏公主");
        System.out.println(listE);
        printArrayList(listE);


        System.out.println("=============================");



        // 4.用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合。
        // 要求使用自定义的方法来实现筛选
        ArrayList<Integer> listF = new ArrayList<>();
        Random ran = new Random();
        for (int i = 0; i < 20; i++) {
            listF.add(ran.nextInt());
        }
        System.out.println(listF);
        ArrayList<Integer> numbers = getEvenNumbers(listF);
        System.out.println(numbers);

    }

    /**
     *
     * @param list
     */
    public static void printArrayList(ArrayList<String> list) {
        String str = "{";
        int size = list.size();
        for (int i = 0; i < size; i++) {
            if (i == size - 1) {
                str += list.get(i);
            } else {
                str += list.get(i) + "@";
            }
        }
        str += "}";
        System.out.println(str);
    }

    /**
     *
     * @param list
     * @return ArrayList<Integer>
     */
    public static ArrayList<Integer> getEvenNumbers(ArrayList<Integer> list) {
        ArrayList<Integer> evenNumbersList = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i) % 2 == 0) {
                evenNumbersList.add(list.get(i));
            }
        }
        return evenNumbersList;
    }

}


package cn.zst.day07.demo03;

public class Person {

    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Person() {
    }

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

  

这篇关于java学习--ArrayList集合讲解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!