Java_集合与迭代器

package cn.ALAN_CF.studyf013;

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

/**
 * @author 15328
 * 集合Collection
 */
public class Collectionfir {
    public static void main(String[] args) {
        ArrayList<String> collection1 = new ArrayList<>();
        collection1.add("New York");
        collection1.add("Atlanta");
        collection1.add("Dallas");
        collection1.add("Madison");
        System.out.println("A list of cities in collection1: ");
        System.out.println(collection1);
        //println(collection1)自动调用toString()方法
        System.out.println("Is Dallas in collection1? \n" + collection1.contains("Dallas"));
        System.out.println("The size of collection1: " + collection1.size());
        collection1.remove("Dallas");
        System.out.println("Remove the 'Dallas', then the size is :"
                + collection1.size() + "\n And the list is:" + collection1);
        System.out.println("********************");


        Collection<String> collection2 = new ArrayList<>();
        collection2.add("Seattle");
        collection2.add("Portland");
        collection2.add("Los Angeles");
        collection2.add("Atlanta");
        System.out.println("A list of cities in collection1: ");
        System.out.println(collection1);
        System.out.println("A list of cities in collection2: ");
        System.out.println(collection2);
        //println(collection2)自动调用toString()方法
        ArrayList<String> c1 = (ArrayList<String>)(collection1.clone());
        System.out.println("ArrayList<String> c1 = (ArrayList<String>)(collection1.clone())  **** c1 : " + c1);
        c1.addAll(collection2);
        System.out.println("c1.addAll(collection2)  **** c1 : " + c1);
        //将集合collection2的所有元素添加到集合c1
        c1 = (ArrayList<String>)(collection1.clone());
        c1.retainAll(collection2);
        System.out.println("c1.retainAll(collection2)  **** c1 : " + c1);
        //保留集合c1和collection2中共同的元素
        c1 = (ArrayList<String>)(collection1.clone());
        c1.removeAll(collection2);
        System.out.println("c1.removeAll(collection2)  **** c1 : " + c1);
        //除去c1中也属于collection2的元素
        System.out.println("********************");


        System.out.print("collection1 instanceof ArrayList : ");
        System.out.println(collection1 instanceof ArrayList);
        //true
        System.out.print("collection1 instanceof Collection : ");
        System.out.println(collection1 instanceof Collection);
        //true
        System.out.print("collection2 instanceof Collection : ");
        System.out.println(collection2 instanceof Collection);
        //true
        System.out.print("collection2 instanceof ArrayList : ");
        System.out.println(collection2 instanceof  ArrayList);
        //true
        System.out.print("********************");
    }
}

在这里插入图片描述

package cn.ALAN_CF.studyf013;

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


/**
 * @author 15328
 * 迭代器
 * 每种集合都是可以迭代的(iterable),可以获得集合的Iterator对象来遍历集合中的元素
 * Collection接口继承自Iterable接口,Iterable接口定义了iterator方法,该方法会返回一个迭代器
 */
public class Iteratorfir {
    public static void main(String[] args) {
        Collection<String> collection = new ArrayList<>();
        collection.add("New York");
        collection.add("Atlanta");
        collection.add("Dallas");
        collection.add("Madison");

        Iterator<String> iterator = collection.iterator();
        while(iterator.hasNext()){
            System.out.print(iterator.next().toUpperCase() + "  ");
        }
        System.out.println();
        //forEach方法
        collection.forEach(e -> System.out.print(e.toUpperCase()+"  "));
        //forEach 是函数接口Consumer<? super E>的一个实例
    }
}

在这里插入图片描述

posted @ 2021-09-07 16:00  在天边偷看小天使  阅读(6)  评论(0)    收藏  举报  来源