• Set的实现类HashSet与TressSet代码实现


    迭代器:又称遍历器,用于遍历集合中的所有元素

    实例及说明

    /**
     * while语句是判断是否有下一个元素,有就进入到处理元素模块打印输出
     * for语句是利用循环来进行判断是否有下一个元素
     * it.next调用该方法,获取到下一个元素,同时将指针往后移一位
     * */
    Iterator it.iterator();
    while(it.hasNext()){
    //处理元素
    }
    for(Iterator it=arr.getIterator;it.hasNext()){
    //处理元素
    }
    
    

    代码实例

    public class hashSet {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		HashSet<String> hs=new HashSet<String>();
    		hs.add("冰岛");
    		hs.add("阿拉斯加");
    		hs.add("纽约");
    		/**
    		 * HashSet是无序的;Iterator迭代器进行集合元素的遍历
    		 * */
    		Iterator<String> iterator=hs.iterator();
    		for(Iterator<String> it=hs.iterator();it.hasNext();){
    			System.out.println(it.next());
    		}
    	}
    }
    

    TreeSet代码示例(Person类与Main类)

    Person.class

    public class Person implements Comparable<Person>{
    	private String name;
    	private int age;
    	
    	public Person(String name, int age) {
    		super();
    		this.name = name;
    		this.age = age;
    	}
    	void print(){
    		/**
    		 * 利用String.format方法输出信息
    		 * */
    		System.out.println(String.format("姓名=%s,年龄=%d", name,age));
    	}
    	@Override
    	public int compareTo(Person o) {
    		/**
    		 * 1表示正数
    		 * -1表示负数
    		 * */
    		if(this.age>o.age)
    			return 1;
    		else if(this.age<o.age)
    			return -1;
    		else
    		return 0;
    	}
    }
    

    Main.class

    public class Main {
    	/**
    	 * 在TreeSet中添加自定义对象
    	 * */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		TreeSet<Person> ts=new TreeSet<Person>();
    		ts.add(new Person("jack",20));
    		ts.add(new Person("jay",30));
    		ts.add(new Person("may",25));
    		/**
    		 * 利用迭代器进行遍历
    		 * */
    		Iterator<Person> it=ts.iterator();
    		while(it.hasNext()){
    			Person p=it.next();
    			p.print();
    		}
    	}
    }
    

    运行结果

    上述代码解析:TreeSet是有序的,在上述代码中Person类中有两个属性name与age,在没有写入Comparable这个方法时,代码运行是会报错,因为有两个属性存在的会,系统不知道用哪一个属性进行排序输出;Comparable方法的使用是,让属性类实现Comparable,会自动生成compareTo方法,重写该方法写出有序输出的依据--------总结:List的共性是,元素都是有索引的,元素是可以重复的;Set中元素是无索引的,不可重复的;Set的两个实现类HashSet是无序的,基于哈希表,TreeSet是有序的,基于二叉树

  • 相关阅读:
    Python高阶函数
    获取checkbox勾选的id
    按照勾选 删除表格的行<tr>
    mysql where和having的区别
    条件查询 日期区间
    根据状态隐藏按钮
    单击列表行前边的checkbox被选中,再单击,取消选中
    重置按钮
    TypeError: $(…).tooltip is not a function
    list的add()方法与addAll()方法简介
  • 原文地址:https://www.cnblogs.com/sinon/p/5945165.html
Copyright © 2020-2023  润新知