Set集合之HashSet和TreeSet的使用方式
2017-12-29 22:41
531 查看
作者:叁念
不重复:内部通过equals方法来判断元素是否相等
无序性:指的是元素的添加顺序和迭代出来的顺序不一定相等
add、addAll、clear、isEmpty、size、contains、iteretor、remove等(简单方法不做解释)
+
【Set集合】
特点:不重复:内部通过equals方法来判断元素是否相等
无序性:指的是元素的添加顺序和迭代出来的顺序不一定相等
1.HashSet:
完全继承了Set或者Collection里的方法实现add、addAll、clear、isEmpty、size、contains、iteretor、remove等(简单方法不做解释)
import java.util.HashSet; import java.util.Iterator; public class SN3_HashSet { public static void main(String[] args) { HashSet<Integer> hashSet = new HashSet<>(); for (int i = 0; i < 10; i++) { hashSet.add((int)(Math.random()*100)); } //获取大小 System.out.println(hashSet.size()); //打印 Iterator<Integer> it = hashSet.iterator(); while(it.hasNext()) { System.out.print(it.next()+" "); } //判斷是否包含元素 System.out.println(hashSet.contains(8)); } }
2.TreeSet:
(简单方法不做解释)import java.util.TreeSet; /** * 【TreeSet】:对Set接口功能做了极大扩展,并且具有排序功能 新增了很多方法: first(取第一个元素)、last(取最后一个元素)、 pollFirst(获取并移除第一个元素)、pollLast(获取并移除最后一个元素)、 ceiling(获取该Set中大于等于指定值的最小元素)、floor(获取该Set中小于等于指定值的最大元素)、 higher(获取该Set中严格大于指定值的最小元素)、lower(获取该Set中严格小于指定值的最大元素)、 headSet(开头一段子集)、tailSet(结尾一段子集)、subSet(中间一段子集) * @author yujie * */ public class SN4_TreeSet { public static void main(String[] args) { TreeSet<Integer> treeSet = new TreeSet<>(); for (int i = 0; i < 10; i++) { treeSet.add((int) (Math.random() * 100)); } // 打印 for (Integer i : treeSet) { System.out.print(i + " "); } System.out.println("\n/*********************************************/"); /** * 【TreeSet自定义排序的方式:】 1).元素本身实现排序算法,做法元素类。比如Person自身实现Comparable接口,实现抽象方法compareTo(Object o) 这种方式实现类Person本身也要参与比较 2).由TreeSet的对象来实现比较功能,做法,通过Comprator接口的实现类对象来构造TreeSet对象, 实现compare(Object o1,Object o2) 这种方式比较算法的实现类本身不参与比较 */ TreeSet<Dog> treeSet2 = new TreeSet<>(); for (int i = 0; i < 10; i++) { treeSet2.add(new Dog("小狗"+i+"号", (int) (Math.random() * 100))); } // 打印 for (Dog d : treeSet2) { System.out.print(d + "\n"); } } } class Dog implements Comparable<Dog>{ String name; int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Dog(String name, int age) { super(); this.name = name; this.age = age; } @Override public String toString() { return "Dog [name=" + name + ", age=" + age + "]"; } @Override public int compareTo(Dog o) { return this.getAge()-o.getAge(); } }
+
相关文章推荐
- 【Java_集合框架Set】HashSet、LinkedHashSet、TreeSet使用区别
- 17. 集合类 (Set的子类HashSet、LinkedHashSet、TreeSet)
- Set集合:HashSet、TreeSet、泛型
- 复习java基础第三天(集合:Collection、Set、HashSet、LinkedHashSet、TreeSet)
- java的集合中的Set以及set的实现类HashSet和TreeSet
- 17.集合Set,HashSet,TreeSet及其底层实现HashMap和红黑树;Collection总结
- 17 API-集合(登录注册案例集合版,Set集合(Set_HashSet_TreeSet),Collection单列集合总结)
- 黑马程序员------毕老师视频笔记第13-17天------集合Collection-Set-(HashSet、TreeSet)
- set集合分类总结(hashSet、treeSet、linkedHashSet)
- Set接口(Set接口简介、HashSet集合、TreeSet集合 )
- JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)
- HashMap和HashSet的使用,区别。集合,Array、Collection(List/Set/Queue)、Map
- JavaSE入门学习36:Java集合框架之Set接口及其实现类HashSet和TreeSet
- 09.集合框架(二)【Set】【HashSet】【TreeSet】
- HashMap和HashSet的使用,区别。集合,Array、Collection(List/Set/Queue)、Map
- Java集合Set、Map、HashSet、HashMap、TreeSet、TreeMap等
- Java--集合(Set:HashSet,TreeSet)
- 使用HashSet和TreeSet存储多个商品信息,遍历并输出;其中商品属性:编号,名称,单价,出版社;要求向其中添加多个相同的商品,验证集合中元素的唯一性。 提示:向HashSet中添加自定义
- set集合 HashSet: TreeSet实现Comparable接口,覆盖compareTo方法。 类实现Comparator接口,覆盖compare方法。
- 小东吖 之 java Set接口 HashSet集合 TreeSet集合