Java基础——Collection集合概述及遍历



集合概念

集合是java中提供的一种容器,可以用来存储多个数据。

集合与数组的区别

·数组的长度是固定的,集合的长度是可变的。
·数组中存储的是同一类型的元素,可以存储基本类型数据。而集合存储的都是对象。 


Collection集合


Collection:单例集合最顶层接口


List extends Collection:

子类:
ArrayList集合,LinkedList集合,Vector集合。
特点:
List集合:有索引,可以存储重复元素,可以保证存储顺序。
ArrayList:底层是数组实现的,查询快,增删慢。
LinkedList:底层是链表实现的,查询慢,增删快。

Set extends Collection:

子类:
HashSet,LinkedHashSet,TreeSet。
特点:
无索引,不可以存储重复元素,存取无序。
HashSet:底层是哈希表+红黑树实现的,无索引,不可以存储重复元素,存取无序。
LinkedHashSet:底层是哈希表+链表实现的,无索引,不可以存储重复元素,可以保证存储顺序。
TreeSet:底层是二叉树实现的,一般用于排序。

Collection集合的常用功能

 Collection<String> coll = new ArrayList<>();

        //1.添加---add(E e)
        coll.add("迪丽热巴");
        coll.add("古力娜扎");
        coll.add("马尔扎哈");
        coll.add("雷霆嘎巴");
        System.out.println(coll);

        //2.清空---clear()
        coll.clear();
        System.out.println(coll);

        //3.删除给定元素---remove(E e)
        boolean result = coll.remove("马尔扎哈");
        System.out.println(coll);
        System.out.println(result);

        //4.判断是否包含给定元素---contains(E e)
        boolean b1 = coll.contains("迪丽热巴");
        System.out.println(b1);

        //5.判断集合是否为空---isempty()
        boolean b2 = coll.isEmpty();
        System.out.println(b2);

        //6.返回集合中元素的个数---size()
        int size = coll.size();
        System.out.println(size);

        //7.把集合中元素存储到数组中---toArray()
        Object[] arr = coll.toArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }


Iterator接口介绍(遍历集合)

迭代概念

即Collection集合元素的通用遍历方式。
在去元素之前先要判断集合里有没有元素,如果有,就把这个元素取出来,然后循环继续判断,直到全部取出。
这种取出方式叫做迭代。

常用方法

1.boolean hasNext();
	判断集合中有无下一个元素,有返回true,无返回false。
2.E next();
	取出集合中的下一个元素。
	
Iterator迭代器是一个接口,无法直接使用,需要使用实现类对象。
而获取实现类对象方式比较特殊,在Collection中有一个方法叫做iterator(),这个方法返回的就是实现类对象。

迭代器的使用步骤

Collection<String> coll = new ArrayList<>();
//1.使用Collection中的iterator()方法返回实现类对象,用Iterator接口接收。
	Iterator<String> it = coll.iterator();//获取迭代器的实现类对象,并且把指针指向集合的-1索引位置
//2.使用hasNext()方法查询是否有下一个元素。
	boolean b = it.hasNext();
//3.使用Next()方法获取下一个元素。
	String str = it.next();
//2与3合并
	while(it.hasNext) {
		System.out.println(it.next());
	}


增强for循环(foreach)

增强for循环:底层使用的是迭代器,JDk1.5后出现的新特性。
tips:必须有被遍历的目标,目标只能是Collection、数组。

遍历集合

ArrayList<String> list = new ArrayList<>();;
list.add("扎");
list.add("哇");
for (String s : list) {
	System.out.println(s);
}

遍历数组

int[] arr = {1,2,3,4,5};
for (int i : arr) {
	System.out.println(i);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值