Java集合之【collection】

1. 集合的特点

  • 集合是Java中存储对象数据的一种容器。
  • 集合的大小不固定,启动后可以动态变化,类型也不固定。
  • 集合适用于元素的增删操作。
  • 集合中只能存储引用类型数据,存储基本数据类型要使用包装类。
  • 集合中存储的是元素对象的地址。
  • Collection单列集合,每个元素只包含一个值; Map双列集合,每个元素包含两个值。

2. Collcetion集合

在这里插入图片描述

2.1 collection常用API

/**
*collection常用API
**/
public class ColllectionTest {
    public static void main(String[] args) {
        //HashSet添加元素无序、不重复、无索引
        Collection<String > list = new ArrayList<>();
        //1、添加元素,添加成功返回true
        list.add("Java");
        list.add("HTML");
        //如果为HashSet,则返回false
        System.out.println(list.add("HTML"));
        list.add("MySQL");
        list.add("Java");
        list.add("黑马");
        System.out.println(list);

        //2、清空集合元素
        //list.clear();
        //System.out.println(list);

        //3、判断集合是否为空,空返回true;
        System.out.println(list.isEmpty());

        //4、获取集合的大小
        System.out.println(list.size());

        //5、判断集合中是否存在某个元素
        System.out.println(list.contains("Java"));
        System.out.println(list.contains("java"));

        //6、删除某个元素,如有多个默认删除第一个
        list.remove("Java");
        System.out.println(list);

        //7、集合转换成数组
        Object[] arrs = list.toArray();
        System.out.println(Arrays.toString(arrs));

		//扩展:
		/**
		* 将list2的数据复制list1中
		* list1.addAll(list2)
		**/
    }
}

2.2 Collection的遍历

2.2.1 Iterator迭代器

迭代器在Java中的代表是Iterator,迭代器是集合的专用遍历方式。

/**
 * 迭代器遍历Collection
 */
public class CollectionTraversal {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("赵敏");
        list.add("小昭");
        list.add("素素");
        list.add("灭绝");
        System.out.println(list);

        //1、获得迭代器对象
        Iterator<String> it = list.iterator();
        //先取元素后移位
        //String ele = it.next();
        //System.out.println(ele);

        //2、定义while循环
        while (it.hasNext()){
            System.out.println(it.next());
        }
    }
}
2.2.2 增强for
  • 增强for循环:既可以遍历集合也可以遍历数组。
  • jdk5之后出现的,其内部原理是一个Iterator迭代器,遍历集合相当于是迭代器的简化写法。
  • 实现Iterable接口的类才可以使用迭代器和增强for,Collection接口已经实现了Iterable接口。
/**
 * 增强for遍历集合
 */
public class CollectionTraversalPlus {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("赵敏");
        list.add("小昭");
        list.add("素素");
        list.add("灭绝");
        System.out.println(list);
        Iterator<String> it = list.iterator();

        for (String ele:list) {
            System.out.println(ele);
        }
    }
}

2.2.3 Lambda表达式
public class CollectionForEach {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("赵敏");
        list.add("小昭");
        list.add("素素");
        list.add("灭绝");
        System.out.println(list);
        //匿名内部类Lambda简化
        list.forEach(s -> System.out.println(s) );
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值