java集合框架、List的实现类、ArrayList的集合类

 

 接口:Collection:是List、Set的父接口,存储一组不唯一,无序的对象;

                              List接口存储一组不唯一,有序(插入顺序)的对象;

                              Set接口存储一组唯一,无序的对象。

            Map:接口存储一组键值对象,提供key到value的映射(key无序且唯一,value可重复)

            Iterator:

具体类:ArrayList:实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高

              LinkedList:采用链表式存储方式,插入、删除元素时的效率比较高

              HashSet

              TreeSet

              HashMap

              TreeMap

算法类:Collections、Arrays 

ArrayList的例题

新闻管理系统,需求如下:

(1)可以存储各类新闻标题(包含ID、名称、创建者)

(2)可以获取新闻标题的总数

(3)可以逐条打印每条新闻标题的名称

分析:存储方式的选择:元素个数不确定、需要遍历元素

           存储对象的确定:类型(新闻标题)、属性(ID、名称、创建者)

package dn;
import java.util.ArrayList;
/**
 * @GEJIAWEI
 * @DATE
 * @Description
 */
//对新闻标题的存储及操作(ArrayList)
public class NewsMgr {
    public static void main(String[] args) {
        //创建新闻标题对象
        NewsTitle title1 = new NewsTitle(1, "北京热门景点故宫", "author");
        NewsTitle title2 = new NewsTitle(2, "北京热门景点长城", "author");
        NewsTitle title3 = new NewsTitle(3, "北京热门景点北海", "author");
        NewsTitle title4 = new NewsTitle(4, "北京热门景点颐和园", "author");
        NewsTitle title5 = new NewsTitle(5, "北京热门景点天安门", "author");
        //创建集合对象,并且将新闻标题加入到集合中
        ArrayList list = new ArrayList();
        list.add(title1);//等同于数组中的list[0]=title1;
        list.add(title2);
        list.add(title3);
        list.add(title4);
        list.add(title5);
        //获取新闻标题的总数
        //ArrayList的size()等同于数组的length属性的作用
        System.out.println("新闻标题一共有"+list.size()+"条");
        //逐条打印新闻标题的名称
        System.out.println("****************************");
        //方法一:逐条遍历ArrayList元素的位置(下标)
        for (int i = 0; i < list.size(); i++) {
            NewsTitle title=(NewsTitle)list.get(i);//等同于list[i],请注意,返回值为Object
            System.out.println(title.getTitle()+title.getAuthor());
        }
        //方法二:增强型for
        System.out.println("****************************");
        for (Object obj:list){
            NewsTitle title=(NewsTitle)obj;
            System.out.println(title.getTitle()+"-"+title.getAuthor());
        }
    }
}

总结:

ArrayList:是List接口的一个具体实现类

                  实现了可变大小的数组

                  随机访问和遍历元素时,它提供更好的性能

用到的方法:add()、size()、get()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值