<Zhuuu_ZZ>集合框架

集合框架一.集合二.List接口2.1含义2.2ArrayList2.2.1ArrayList示例(代码中包含详细解释)2.3LinkedList一.集合这就是java集合框架。从上图可以看出,集合类主要有Map接口和Collection接口派生而来,其中,Collection接口有两个常用的子接口,即List接口和set接口。二.List接口2.1含义Collection接口是最基本的集合接口,可以存储一组不唯一,无序的对象。那么List接口继承Collection接口,他就是有序集合(按插入
摘要由CSDN通过智能技术生成

一.集合

虚线框表示接口或抽象类,实现框表示开发中常用的实现类
这就是java集合框架。从上图可以看出,集合类主要有Map接口和Collection接口派生而来,其中,Collection接口有两个常用的子接口,即List接口和set接口。

二.List接口

2.1含义

Collection接口是最基本的集合接口,可以存储一组不唯一,无序的对象。那么List接口继承Collection接口,他就是有序集合(按插入顺序)即List可以储存一组不唯一,有序的对象。

2.2ArrayList

ArrayList:底层是可变数组,遍历元素更快,改变值也就更快

方法说明
bollean add(Object)在列表的末尾添加元素o,起始索引位置从0开始
void add(int index,Object o)在指定的索引位置添加元素o,索引位置必须介于0和列表中元素个数之间
int size()返回列表中元素的个数
Object get(int index)返回指定索引位置处的元素,取出的元素是Object类型,使用前需要进行强制类型转换
void set(int index,Object obj)将Index索引位置的元素替换为obj元素
bollean contains(Object o)判断列表中是否存在指定元素o
int indexOf(Object obj)返回元素在集合中的索引位置
bollean remove(Object o)从列表中删除元素o
Object remove(int index)从列表中删除指定位置的元素,起始索引位置从0开始

2.2.1ArrayList示例(代码中包含详细解释)

示例1:使用ArrayList常用方法动态操作数据

public class Test1 {
    public static void main(String[] args) {
        //调用ArrayList的无参构造方法,创建集合对象
        ArrayList list=new ArrayList();
        list.add("张三丰");
        list.add("郭靖");
        list.add("杨过");
        //判断集合中是否包含"李默愁"
        System.out.println(list.contains("李莫愁"));
        //把索引为0的数据移除
        list.remove(0);
        System.out.println("*************");
        //将索引为1的元素替换为"黄蓉"
        list.set(1,"黄蓉");
        //增强for输出
        for (Object o : list) {
            String name=(String)o; 
            System.out.println(name);
        }
        //fori输出
        //list.get(i)取出集合中索引为i的元素,并强制转换成String类型
        for (int i = 0; i < list.size(); i++) {
            String name=(String)list.get(i);
            System.out.println(name);
        }
        //迭代输出
        Iterator itr=list.iterator();
        while (itr.hasNext()){
            String name=(String)itr.next();
            System.out.println(name); }
        System.out.println("*****************");
        //输出元素"小龙女"所在的索引位置
        //输出-1代表集合中没有该元素
        System.out.println(list.indexOf("小龙女"));
        //输出元素"黄蓉"所在的索引位置
        System.out.println(list.indexOf("黄蓉"));
        //清空list中的数据
        list.clear();
        //判断list集合是否为空
        System.out.println(list.isEmpty());

    }
}

示例2:使用ArrayList集合存储新闻标题信息

public class NewTitle {
  private int num;
  private String type;
  private String name;

    public NewTitle(int num, String type, String name) {
        this.num = num;
        this.type = type;
        this.name = name;
    }

    @Override
    public String toString() {
        return "NewTitle{" +
                "num=" + num +
                ", type='" + type + '\'' +
                ", name='" + name + '\'' +
                '}';
    }
}
public class Test2 {
    public static void main(String[] args) {
        //创建新闻标题对象
        NewTitle car = new NewTitle(1, "汽车", "tom");
        NewTitle test = new NewTitle(2, "高考", "hah");
        //创建存储新闻标题的集合对象
        List a = new ArrayList();
        //按照顺序依次添加标题
        a.add(car);
        a.add(test);
        //获取新闻标题的总数
        System.out.println("总数为:"+a.size()+"条");
        //遍历集合对象
        for (Object o : a) {
            NewTitle title=(NewTitle)o;
            System.out.println(title.toString());}
   }
}

2.3LinkedList

LinkedList::底层是双向链表,插入和删除更快

方法说明
void addFirst(Object ob)将指定元素插入到当前集合的首部
void addLast(Object obj)将指定元素插入到当前集合的尾部
Object getFirst()获得当前集合的第一个元素
Object getLast()获得当前集合的最后一个元素
Object removeFirst()移除并返回当前集合的第一个元素
Object removeLast()移除并返回当前集合的最后一个元素
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值