• set接口


    set

    import java.util.*;
    public class Test {
    	public static void main(String[] args) {
    		/*
    		Set s = new HashSet();
    		s.add("hello");
    		s.add("world");
    		s.add(new Name("f1","11"));
    		s.add(new Integer(100));
    		*/
    		
    		/*
    		相同的元素不会被加入
    		s.add("hello");
    		s.add("hello");
    		*/
    		//Set 和List容器类都具有Constructor(Collection c)
    		//构造方法用以初始化容器
    		Set s1 = new HashSet();
    		Set s2 = new HashSet();
    		s1.add("a");s1.add("b");s1.add("c");
    		s2.add("d");s2.add("a");s2.add("b");
    		Set sn = new HashSet(s1);
    		sn.retainAll(s2);
    		Set su = new HashSet(s1);
    		su.addAll(s2);
    		
    		System.out.println(sn);
    		
    		System.out.println(su);
    		
    		
    		
    		
    		
    		
    		
    		
    		
    		/*
    		Collection c = new HashSet();
    		c.add("hello");
    		c.add(new Name("f1","11"));
    		c.add(new Name("f2","12"));
    		c.add(new Name("f3","13"));
    		c.add(new Integer(100));
    		c.remove("hello");
    		c.remove(new Integer(100));
    		
    		Iterator i = c.iterator();
    		while(i.hasNext()) {
    			Name n = (Name)i.next();
    			System.out.print(n.getfirstName()+" ");
    		}*/
    		/*System.out.println(c.remove(new Name("f1","11")));
    		System.out.println(c);*/
    	}
    }
    class Name {
    	private String firstName,secondName;
    	public Name(String firstName,String secondName) {
    		this.firstName = firstName;
    		this.secondName = secondName;
    	}
    	public String getfirstName() {return firstName;}
    	public String getsecondName() {return secondName;}
    	public String toString() {
    		return firstName+" "+secondName;
    	}
    	
    	public boolean equals(Object obj) {
    		if(obj instanceof Name) {
    			Name name = (Name) obj;//强制转换
    			return (firstName.equals(name.firstName))&&(secondName.equals(name.secondName));
    		}
    		return super.equals(obj);
    	}
    	
    	public int hashCode() {
    		return firstName.hashCode();
    	}
    }
    

    Set接口是Collection的子接口,Set接口没有提供额外的方法,但实现Set接口的容器类中的元素是没有顺序的,而且不可以重复

    Set容器可以与数学中“集合”的概念相对应

    j2sdk api所提供的Set容器类有HashSet,TreeSet等

  • 相关阅读:
    使用 awk 命令统计文本
    Mysql基础及系统函数(分享)
    存储过程 :字段按逗号拆分并插入到关联表
    Spring Security SavedRequestAwareAuthenticationSuccessHandler类
    自制Springboot Starter
    vue3 input中回车生成标签
    NOMURA Programming Contest 2022(AtCoder Beginner Contest 253)
    Educational Codeforces Round 129 (Rated for Div. 2)
    Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)
    2022 Google Kick Start Round C
  • 原文地址:https://www.cnblogs.com/lsswudi/p/11359157.html
Copyright © 2020-2023  润新知