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>  

 

转载于:https://www.cnblogs.com/time-to-despair/p/9712172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值