集合:List实现类ArrayList

本文详细介绍了Java中ArrayList的基本概念、构造方法及常用操作,并通过实例演示了如何使用ArrayList存储和遍历字符串与自定义对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.util.ArrayList
1.概述
List接口常用的三个实现类:ArrayList、Vector、Linkedlist
它们的数据结构分别是数组、数组和链表
数组:查询快、增删慢,Vector基本不用了,用ArrayList
链表:查询慢、增删快
这里学习第一种List实现类ArrayList
需求1:使用List的几个实现类遍历字符串和自定义对象和前面用Collection和List遍历一样
2.内容

A.构造方法
ArrayList() 
构造一个初始容量为 10 的空列表。
ArrayList(Collection<? extends E> c) 
构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
ArrayList(int initialCapacity) 
构造一个具有指定初始容量的空列表。 
B.成员方法
没什么特殊的功能,延用List的方法
package knowledge_basic_02;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.ListIterator;

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

public class ArrsyListDemo {

    public static void main(String[] args) {
        //构造方法演示
        //构造一个初始容量为10的空列表
        ArrayList al=new ArrayList();
        //构造一个初始容量为20的空列表
        ArrayList al2=new ArrayList(20);
        //构造一个初始内容为已知Collection对象的列表
        Collection c=new ArrayList();
        ArrayList al3=new ArrayList(c);
        //它没什么特别的方法,它的迭代器直接继承List
        //用ArrayList存储并遍历字符串
        //第一步:构造一个ArrayList对象
        ArrayList a=new ArrayList();
        //第二步:用ArrayList存储字符串
        a.add("abc");
        a.add("def");
        a.add("ghi");
        //第三步:遍历字符串
        //1.构造ArrayList的迭代器对象,可以用Iterator也可以用ListIterator
        ListIterator lit=a.listIterator();
        //2.调用迭代器的hasNext、next、hasPrevious、previous遍历列表内容
        //只能先顺序遍历,才可以倒序遍历
        while(lit.hasNext())
        {
            String s=(String)lit.next();
            System.out.print(s+"  ");
        }
        System.out.println("");
        while(lit.hasPrevious())
        {
            String s=(String)lit.previous();
            System.out.print(s+"  ");
        }
        System.out.println("");
        //用ArrayList存储并遍历自定义对象
        //第一步:构造一个ArrayList对象,此处直接清空上面的
        a.clear();      
        //第二步:用ArrayList存储自定义对象
        a.add(new General2("关羽",41));
        a.add(new General2("张飞",39));
        a.add(new General2("赵云",36));
        //第三步:遍历自定义对象
        //1.构造ArrayList迭代器,可以用Iterator或ListIterator
        Iterator it=a.iterator();
        //2.调用迭代器的方法遍历
        while(it.hasNext()){
            General2 g=(General2)it.next();
            System.out.println(g.name+":"+g.age);
        }

    }

}

abc def ghi
ghi def abc
关羽:41
张飞:39
赵云:36

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值