• List集合和Set的遍历(笔记)


    package Collection;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    
    import org.junit.Test;
    /**
     * 
     * @author LYJ
     *    List接口:
     *    它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。
     *    它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
     *集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
     *
     *    List接口的常用子类有:
     *    ArrayList集合        ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。
     *    LinkedList集合    LinkedList集合数据存储的结构是链表结构。方便元素添加、删除的集合。实际开发中对一个集合元素的添加与删除经常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。
     *    增强for
     *    Itetator 迭代器
     *    并发修改异常解决办法:在迭代时,不要使用集合的方法操作元素。
     *    那么想要在迭代时对元素操作咋办?通过ListIterator迭代器操作元素是可以的,ListIterator的出现,解决了使用Iterator迭代过程中可能会发生的错误情况。
     *    
     */
    public class Collection_Demo2 {
        /**
         * 增强for
         * 
         */
        @Test
        public void testFor() {
    //        创建集合添加元素
            Collection<String> coll = new ArrayList<String>();
            coll.add("no");
            coll.add("zuo");
            coll.add("no");
            coll.add("die");
            for(String c :coll) {
                System.out.print(c+" ");
            }
            //输出结果         no zuo no die 
        }
        
        
        /*****************************************************
         * Iterator迭代器
         */
        @Test
        public void testIterator() {
    //        创建集合添加元素
            Collection<String> coll = new ArrayList<String>();
            coll.add("no");
            coll.add("zuo");
            coll.add("no");
            coll.add("die");
    //        利用list集合方法iterator获取迭代器对象
            Iterator<String> it = coll.iterator();
            //利用迭代器hasNext()方法判断集合是否有元素,
            //用迭代器next()方法获取元素,自动跳到下一个元素
            while(it.hasNext()) {
                System.out.print(it.next());
                System.out.print(" ");//输出一个空格
            }
            
            //输出      no zuo no die 
    
        }
        /*
         * Set集合的遍历
         * Set接口是无序集合,存储和取出顺序不同,没有索引,不存储同类元素
         * 
         * */
        @Test
        public void testSet() {
            Set<String> set = new HashSet<String>();
        
            //给集合中添加自定义对象
            set.add("zhangsan");
            set.add("lisi");
            set.add("wangwu");
            set.add("zhangsan");
            //取出集合中的每个元素
            Iterator<String> it = set.iterator();
            while(it.hasNext()){
            
                System.out.println(it.next());
            }
            /**
             * 输出    lisi
                    zhangsan
                    wangwu
             *        
             * Set集合不能存重复元素
             * HashSet中LinkedHashSet是有序的链表集合
             */
        }
        
        
        
        
    }
  • 相关阅读:
    高级打字机
    不等数列
    间谍网络
    医院设置
    题目编号生成器
    传纸条
    聪明的打字员
    倒水问题
    八数码难题
    生日蛋糕
  • 原文地址:https://www.cnblogs.com/lyjblogs/p/7885262.html
Copyright © 2020-2023  润新知