ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Collection集合的学习

2022-01-19 09:05:38  阅读:105  来源: 互联网

标签:list System collection 学习 println add Collection 集合


Collection集合常用的方法

    // boolean add(E e)  添加元素
    // boolean remove(Object o)   从集合中移除指定的元素
    // boolean removeif(Object o)   根据条件进行删除
    // void clear()    清空集合
    // boolean contains(Object o)  判断集合中是否存指定的元素
    // boolean isEmpty()   判断集合是否为空
    // int size()   集合的长度,也就是集合中元素的个数
package com.shengda.Demo14Collection;

import java.util.ArrayList;
import java.util.Collection;

public class MyCollectionDemo2 {
    public static void main(String[] args) {
        Collection<String> collection = new ArrayList<>();
        // boolean add(E e)  添加元素
        collection.add("aaa");
        collection.add("ss");
        collection.add("asa");
        // System.out.println(collection);

        // method1(collection); // 删除的

        // method2(collection); // 根据判断的条件的返回值进行 删除

        // method3(collection);  // 将集合中所有的元素删除

        // method4(collection);  // 根据条件返回

        // method5(collection);  // 判断集合是否为空

        // method6(collection); // 返回集合的长度
    }

    private static void method6(Collection<String> collection) {
        // int size()   集合的长度,也就是集合中元素的个数
        int size = collection.size();
        System.out.println(size);
    }

    private static void method5(Collection<String> collection) {
        // boolean isEmpty()   判断集合是否为空
        boolean result = collection.isEmpty();
        System.out.println(result);
    }

    private static void method4(Collection<String> collection) {
        // boolean contains(Object o)  判断集合中是否存指定的元素
        boolean result = collection.contains("a"); // false
        boolean result1 = collection.contains("aaa"); // true
        System.out.println(result);
        System.out.println(result1);
    }

    private static void method3(Collection<String> collection) {
        // void clear()    清空集合
        collection.clear();
        System.out.println(collection);
    }

    private static void method2(Collection<String> collection) {
        // boolean removeIf(Object o)   根据条件进行删除
        // removeIf底层会遍历集合,得到集合中的每一个元素
        // s依次表示集合的每一个元素
        // 就会把这每一个元素都到lambda表达式中去判断一下
        // 如果返回的是true,则删除
        // 如果返回的是false,则保留不删除
        collection.removeIf((String s)->{
            return s.length() == 3;  // 删除掉长度为3的字符
        });
        System.out.println(collection);
    }

    private static void method1(Collection<String> collection) {
        // boolean remove(Object o)   从集合中移除指定的元素
        boolean result1= collection.remove("aaa");  // true
        boolean result2 = collection.remove("sss");  // false
        System.out.println(result1);
        System.out.println(result2);
        System.out.println(collection);
    }
}

Collection集合的遍历

Iterator:迭代器,集合的专用遍历方式

Iterator<E> iterator():返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引。
Iterator中的常用方法
boolean hasNext():判断当前位置是否有元素可以被取出。
E next():获取当前位置的元素
			将迭代器对象移向下一个索引位置
package com.shengda.Demo1Collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class MyCollectionDemo3 {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");

        // 获取迭代器的对象
        // 迭代器对象一旦被创建出来,默认指向集合的0索引处
        Iterator<String> it = list.iterator();

        // 利用迭代器里面的方法进行遍历
        // System.out.println(it.hasNext());  // true  当前位置是否有元素可以被取出 开始是0索引
        // System.out.println(it.next());  // a 取出当前位置的元素+将迭代器往后移动一个索引的位置
        // System.out.println(it.next());  // b

        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

迭代器删除指定字符

package com.shengda.Demo1Collection;

import java.util.ArrayList;
import java.util.Iterator;

public class MyCollectionDemo5 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("d");
        list.add("e");

        Iterator<String> it = list.iterator();

        while (it.hasNext()) {
            String s = it.next();
            if ("b".equals(s)){
                it.remove();
            }
        }
        System.out.println(list);
    }
}

增强for循环

增强for:简化数组和Collection集合的遍历
是JDK5之后出现的,其内部原理是一个Iterator迭代器
实现Iterable接口的类才可以使用迭代器和增强for

增强for的格式:

for(元素数据类型 变量名:数组或者Collection集合) {
	// 在此处使用变量即可,该变量就是元素
}
package com.shengda.Demo1Collection;

import java.util.ArrayList;

public class MyCollectionDemo6 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        list.add("f");
        list.add("g");

        // 数据类型一定是集合或者数组中的元素的类型
        // str仅仅是一个变量名而已,再循环的过程中,一次表示集合或者数组中的每一元素
        // list就是要遍历的集合或者数组
        for (String str : list) {
            System.out.println(str);
        }
    }
}

普通的for循环和迭代器和增强for循环的使用场景

如果需要操作索引,使用普通for循环
如果再遍历的过程中需要删除元素,请使用迭代器
如果仅仅想遍历,那么使用增强for

标签:list,System,collection,学习,println,add,Collection,集合
来源: https://blog.csdn.net/qq_54875747/article/details/122563415

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有