• JAVA ArrayList集合


            ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

      

    1.1 集合的创建

    创建集合的常用格式在此说明一下:

    导包:import java.util.ArrayList;

    创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:

    ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();

    集合中存储的元素,只能为<>括号中指定的数据类型元素;

    l “<要存储元素的数据类型>”中的数据类型必须是引用数据类型,不能是基本数据类型;

    基本数据类型

    对应的引用数据类型表示形式

    byte

    Byte

    short

    Short

    Int

    Integer

    long

    Long

    float

    Float

    double

    Double

    char

    Character

    boolean

    Boolean

    我们通过举几个例子,来明确集合的创建方式:

    存储String类型的元素

    ArrayList<String> list = new ArrayList<String>();

    存储int类型的数据

    ArrayList<Integer> list = new ArrayList<Integer>();

    存储Phone类型的数据

    ArrayList<Phone> list = new ArrayList<Phone>();

     

    1.2 集合中常用方法

    方法声明

    功能描述

    boolean addObject obj

    将指定元素obj追加到集合的末尾

    Object getint index

    返回集合中指定位置上的元素

    int size()

    返回集合中的元素个数

    import java.util.ArrayList;
    public class ArrayListDemo01 {
        public static void main(String[] args) {
            // 创建ArrayList集合
            ArrayList<String> list = new ArrayList<String>();
            // 向集合中添加元素
            list.add("stu1");
            list.add("stu2");
            list.add("stu3");
            list.add("stu4");
            // 获取集合中元素的个数
            System.out.println("集合的长度:" + list.size());
            // 取出并打印指定位置的元素
            System.out.println("第1个元素是:" + list.get(0));
            System.out.println("第2个元素是:" + list.get(1));
            System.out.println("第3个元素是:" + list.get(2));
            System.out.println("第4个元素是:" + list.get(3));
        }
    }

    ArrayList集合相当于是一个长度可变的数组,所以访问集合中的元素也是采用索引方式访问,第一个元素存储在索引0的位置,第二个元素存储在索引1的位置,依次类推.

    1.3 集合的遍历

     13import java.util.ArrayList;
     14public class ArrayListDemo02 {
     15    public static void main(String[] args) {
     16        //创建ArrayList集合
     17        ArrayList<Integer> list = new ArrayList<Integer>();
     18        //添加元素到集合
     19        list.add(13);
     20        list.add(15);
     21        list.add(22);
     22        list.add(29);
     23        //遍历集合
     24        for (int i = 0; i < list.size()[获取集合中元素的个数]; i++) {
     25            //通过索引,获取到集合中每个元素
     26            int n = list.get(i)[获取集合中指定位置上的元素值];
     27            System.out.println(n);
     28        }
     29    }
     30}

    1.4 集合中的常用方法补充

    方法声明

    功能描述

    boolean addint index,  Object obj

    将指定元素obj插入到集合中指定的位置

    Object removeint index

    从集合中删除指定index处的元素,返回该元素

    void clear()

    清空集合中所有元素

    Object setint index, Object obj

    用指定元素obj替代集合中指定位置上的元素

    l boolean add(int index,  Object obj)

    功能:在集合中指定index位置,添加新元素obj

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。

    l Object set(int index, Object obj)

    功能:用指定元素obj替代集合中指定index位置的元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“JavaEE”]。

    l Object remve(int index)

    功能:从集合中删除指定index处的元素,返回该元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。

    l void clear()

    n 功能:清空集合中所有元素

    功能说明:假设集合list中有元素[“java”,“javaEE”],当使用clear()后,集合list中的元素为空[ ]。

    1.5 随即点名器案例分析

    随机点名器即在全班同学中随机的找出一名同学打印这名同学的个人信息

    我们来完成随机点名器,它具备以下3个内容:

    l 存储所有同学姓名

    l 总览全班同学姓名

    l 随机点名其中一人,打印到控制台

    import  java.util.Scanner;
    import  java.util.Random;
    public class hanghang {
        public static void main(String[] args){
            String[] name = new String[3];
            for(int i=0;i<name.length;i++){
                Scanner sc = new Scanner(System.in);
                System.out.println("输入第"+ (i+1) +"个名字");
                 name[i] = sc.next();            //next后面不跟Int 因为后面sc是字符串 ***
            }
            System.out.println("--------------------------");
            for(int i=0;i<name.length;i++) {
                System.out.println( name[i]);
            }
            Random ran = new Random();
            int s = ran.nextInt(name.length);
            System.out.println("--------------------------");
            System.out.println("得到的随机姓名是:"+ name[s]);
            }
        }

    1.6 库存管理案例分析

    01.package Library;   
    02.  
    03.import java.io.Serializable;  
    04.  
    05.public class Book implements Serializable{  
    06.  
    07.    private int bookId;  
    08.    private String bookName;  
    09.    private String auther;  
    10.    private String pubDate;  
    11.    private double price;  
    12.    private int store;  
    13.    public int getBookId() {  
    14.        return bookId;  
    15.    }  
    16.    public void setBookId(int bookId) {  
    17.        this.bookId = bookId;  
    18.    }  
    19.    public String getBookName() {  
    20.        return bookName;  
    21.    }  
    22.    public void setBookName(String bookName) {  
    23.        this.bookName = bookName;  
    24.    }  
    25.    public String getAuther() {  
    26.        return auther;  
    27.    }  
    28.    public void setAuther(String auther) {  
    29.        this.auther = auther;  
    30.    }  
    31.    public String getPubDate() {  
    32.        return pubDate;  
    33.    }  
    34.    public void setPubDate(String pubDate) {  
    35.        this.pubDate = pubDate;  
    36.    }  
    37.    public double getPrice() {  
    38.        return price;  
    39.    }  
    40.    public void setPrice(double price) {  
    41.        this.price = price;  
    42.    }  
    43.    public int getStore() {  
    44.        return store;  
    45.    }  
    46.    public void setStore(int store) {  
    47.        this.store = store;  
    48.    }  
    49.    public Book(int bookId, String bookName, String auther, String pubDate,  
    50.            double price, int store) {  
    51.        super();  
    52.        this.bookId = bookId;  
    53.        this.bookName = bookName;  
    54.        this.auther = auther;  
    55.        this.pubDate = pubDate;  
    56.        this.price = price;  
    57.        this.store = store;  
    58.    }  
    59.    public Book() {  
    60.        // TODO Auto-generated constructor stub  
    61.    }  
    62.      
    63.  
    64.}</strong></span><span style="font-size:18px;font-weight: bold;">  
    65.</span>  
  • 相关阅读:
    Java Object类及其常用方法
    Java 抽象类和抽象方法
    Java 多态
    Java 继承
    Java Scanner类
    正则表达_1
    「暑期集训day14」掠影
    「暑期集训day13」苦闷
    「暑期集训day12」苦楚
    「暑期集训day11」旧殤
  • 原文地址:https://www.cnblogs.com/time-to-despair/p/9712172.html
Copyright © 2020-2023  润新知