• Java从零开始学二十二(集合Set接口)


    一、Set接口的定义

    Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素
    • Set接口的主要方法与Collection是一致的
    • Set接口的实例无法像List接口那样进行双向输出.不存在get方法使用Iterator接口来遍历集合

    2个常用方法:hasNext方法表示判断是否还有元素可以迭代

    next()方法:返回迭代的下一个元素

    • Set接口的常用子类

    散列存放:HashSet

    有序存放:TreeSet

    二、使用SetHashSet

    package com.pb.demo2;
    
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Set;
    
    import com.pb.demo2.Person;
    
    public class PersonSetTest {
    
        public static void main(String[] args) {
            /*
             * 创建多个Person对象并赋值
             */
             Person p1 = new Person("张三",21);
             Person p2 = new Person("李四",22);
             Person p3 = new Person("王五",23);
             Person p4 = new Person("赵六",24);
             Person p5 = new Person("钱七",25);
             //创建Set接口对象HashSet
             Set<Person>pset=new HashSet<Person>();
             //通过add方法铺实现添加
             pset.add(p1);
             pset.add(p2);
             pset.add(p3);
             pset.add(p4);
             pset.add(p5);
             //获取长度
             System.out.println("长度为:  "+pset.size());
             System.out.println("===========使用Iterator来遍历===============");
             //因为没有get方法,使用Iterator来遍历
            Iterator<Person> piterator=pset.iterator();
            //使用next和hasNext方法来遍历
            while(piterator.hasNext()){
                Person p = piterator.next();
                System.out.println("姓名:  "+p.getName());
                System.out.println("年龄: "+p.getAge());
            }
            System.out.println("=========使用foreach来遍历=============");
             //使用foreach来遍历
            for (Person p : pset) {
                System.out.println("姓名:  "+p.getName());
                System.out.println("年龄: "+p.getAge());
            }
        }
    
    }

    三、验证散列的存放:HashSet

    package com.pb.demo2;
    
    import java.util.HashSet;
    import java.util.Set;
    
    public class HashSetTest {
    
        public static void main(String[] args) {
            Set<String> allSet = new HashSet<String>();
            allSet.add("A") ;                // 增加元素
            allSet.add("B") ;                // 增加元素
            allSet.add("C") ;                // 增加元素
            allSet.add("A") ;                // 重复元素,不能加入
            allSet.add("C") ;                // 重复元素,不能加入
            allSet.add("D") ;                // 增加元素
            allSet.add("E") ;                // 增加元素
            System.out.println("长度:"+allSet.size());
            System.out.println(allSet.toString()) ;        // 输出集合对象,调用toString()
    
        }
    
    }

    四、验证有序的存放:TreeSet

    package com.pb.demo2;
    
    import java.util.HashSet;
    import java.util.Set;
    
    public class HashSetTest {
    
        public static void main(String[] args) {
            Set<String> allSet = new HashSet<String>();
            allSet.add("A") ;                // 增加元素
            allSet.add("B") ;                // 增加元素
            allSet.add("C") ;                // 增加元素
            allSet.add("A") ;                // 重复元素,不能加入
            allSet.add("C") ;                // 重复元素,不能加入
            allSet.add("D") ;                // 增加元素
            allSet.add("E") ;                // 增加元素
            System.out.println("长度:"+allSet.size());
            System.out.println(allSet.toString()) ;        // 输出集合对象,调用toString()
    
        }
    
    }
  • 相关阅读:
    bash:express:command not found
    Jquery的window.onload实现
    元素的class和id问题
    安装angular-cli
    [(ngModel)]的实现原理
    bodyparser
    git push不用重复输入用户名和密码(解决方案)
    git提交项目到已存在的远程分支
    angular的$filter服务
    网站上如何添加显示favicon
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4299073.html
Copyright © 2020-2023  润新知