JAVA高级特性(一)——Collection集合

一、集合的概念

          用来提供一种存储孔吉安可变的存储模型,存储的数据容量可以随时发生改变。

          集合体的结构:

接口      接口实现类特点
Collection                        单列集合List 集合ArrayList       先进先出排序,元素可重复
LinkedList
Set集合HashSet无序排列,元素可重复
LinkhashSet先进先出排序,元素不重复
TreeSet按hashCode值排列,元素不重复
Map        双列集合HashMap键+值,元素不重复

二、Collection 集合

2.1 Collection集合概述

          * 是单列集合的顶层接口,他表示一组对象,这些对象也被称为Collection的元素

          * JDK 不提供此接口的任何实现,它是提供更具体的子接口(如 Set、List)实现

2.2 Collection集合的创建对象

           因其即集合的最高类,没有提供具体的实现方式,所有需要通过其子类对象进行创建,即采用多态的方式创建对象。

     格式:  Collection<数据类型>   对象名=new  子类<数据类型>();

     eg:Collection   array=new ArrayList();

     eg:    Collection  array=new HashSet();

2.3 Collection集合类常用的方法

方法含义
boolean  add(E e);添加元素
boolean   remove(object  o);        移除指定的元素
void   clear();清楚集合种所有的元素
boolean contains (Object o);判断集合种是否存在指定的元素
boolean  iEmpty();判断集合是否为空
int  size();计算集合长度(元素个数)

具体实例,这里采用ArrayList子类创建对象

public class aa {
    public static void main(String[] args) {
        Collection<String> arr = new ArrayList<String>();  //利用多态的方式创建对象arr
        arr.add("a1");
        arr.add("a2");
        arr.add("a3"); //add添加三个元素
        System.out.println(arr);   // 输出元素  [a1, a2, a3]
        arr.remove("a1");     //remove("a1")删除元素为a1
        System.out.println(arr);  //输出元素[a2, a3]
        boolean flag=arr.isEmpty();  //isEmpty()判断集合是否一个元素都没有
        System.out.println(flag);    //输出flag
        boolean flag1 = arr.contains("a2");//contains("a2")判断是否有元素a2
        System.out.println(flag1);   //输出true
        int i=arr.size();            // size()  计算集合中的元素个数
        arr.clear();                 //clear()删除集合中所有的元素
    }
}

2.4  Collection 的遍历

        因集合中没有索引的概念,所有无法用for循环遍历,对此JAVA提出了迭代器iterator的功能。也可以用增强for的遍历方式

     2.4.1 Iterator 迭代器

              ——迭代器是集合专用遍历方式,它是一个接口。

            Iterator <E>  iterartor:返回此集合中元素的迭代器,通过集合的iterator方法得到的,所有说迭代器依托于集合中的Iterator方法。

 Iterator 迭代器中常用的方法

      E   next(); 返回迭代中的下一个元素

 boolean  hasNext():如果迭代具有更多的元素,则返回true,判断是否有元素   

实例案例:输入三个元素存入集合,利用迭代器遍历输出
public class aa {
    public static void main(String[] args) {
        Collection<String> arr = new ArrayList<String>();  //利用多态的方式创建对象arr
        arr.add("a1");
        arr.add("a2");
        arr.add("a3"); //add添加三个元素
        Iterator iterator = arr.iterator();  //创建迭代器
        while (iterator.hasNext()) {        //判断下一个元素是否为null
            String s=iterator.next();
            System.out.println(s);
            //输出下一个元素
        }
}

注:迭代器再使用的时候,next每执行一次,地址值就会+1;在使用next()进行遍历时,最好先把值赋值,然后再输出这个值。

        2.4.2  增强for功能输出

      增强for   格式    for(数据类型     变量名 :集合名)

public class aa {
    public static void main(String[] args) {
        Collection<String> arr = new ArrayList<String>();  //利用多态的方式创建对象arr
        arr.add("a1");
        arr.add("a2");
        arr.add("a3"); //add添加三个元素
        for (String s : arr)     //s表示arr中每个元素
            System.out.println(s);
 }
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值