JAVA | 52 - 类集框架 | Set 接口
2017-12-05 23:18
357 查看
Set 子接口只是简单地继承了 Collection 接口,所以并没有 get 方法。
Set 集合中没有重复元素,这一点是 Set 接口的特征。
HashSet 子类保存的内容是无序的,TreeSet 子类保存的内容自动排序。
在 java 开发中,首先选择的是 List 子接口, Set 子接口绝对不是首选,就算是要使用 Set 子类,也首选使用 HashSet 子类,因为可以回避排序。
Comparable 这种比较器大部分情况下只存在于 java 理论范畴内,例如要进行 TreeSet 子类的排序。
Set 子接口不论如何操作,都必须保持一个原则,数据不能重复。
Set 集合中没有重复元素,这一点是 Set 接口的特征。
HashSet 子类保存的内容是无序的,TreeSet 子类保存的内容自动排序。
在 java 开发中,首先选择的是 List 子接口, Set 子接口绝对不是首选,就算是要使用 Set 子类,也首选使用 HashSet 子类,因为可以回避排序。
Comparable 这种比较器大部分情况下只存在于 java 理论范畴内,例如要进行 TreeSet 子类的排序。
Set 子接口不论如何操作,都必须保持一个原则,数据不能重复。
import java.util.*; class Book{ private String title; private int price; public Book(String title, int price){ this.title = title; this.price = price; } @Override public String toString() { return this.title + " " + this.price; } @Override public int hashCode() { return Objects.hash(title, price); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } final Book other = (Book) obj; return Objects.equals(this.title, other.title) && Objects.equals(this.price, other.price); } } public class Main { public static void main(String[] args) throws Exception{ // 设置了泛型,从而保证集合中所有的数据类型都一致 Set<Book> set = new HashSet <Book>(); set.add(new Book("java",100)); set.add(new Book("c",89)); set.add(new Book("c++",100)); set.add(new Book("python",100)); set.add(new Book("python",100)); // 任何情况下集合的删除与数据的查询都必须提供有 equals 方法 set.remove(new Book("c",89)); System.out.println(set.contains(new Book("c",89))); System.out.println(set); Object object [] = set.toArray(); for(int i = 0; i < object.length; i ++){ System.out.println(object[i]); } } }
相关文章推荐
- java:类集框架conllection接口list,set
- Java类集框架——Set接口和子接口SortedSet以及SortedSet接口的子类TreeSet之间的联系和使用、排序设置重复元素的说明
- Java类集框架——foreach及Enumeration接口
- JavaSE入门学习36:Java集合框架之Set接口及其实现类HashSet和TreeSet
- 【Java类集】_Set接口笔记(实例亲测)
- Java--接口和类集框架
- 第十五篇:JAVA集合框架之Set接口实现类
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
- Java学习笔记31(集合框架五:set接口、哈希表的介绍)
- 13. Java类集 Part 1(类集、Collection接口、List接口、Set接口、SortedSet接口、集合的输出) ----- 学习笔记
- Java:concurrent包下面的Collection接口框架图( CopyOnWriteArraySet, CopyOnWriteArrayList,ConcurrentLinkedQueue,BlockingQueue)
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
- JAVA | 54 - 类集框架 | Map 接口 |
- JAVA类集框架主要接口
- JAVA | 51 - 类集框架 | List 接口
- Java基础知识强化之集合框架笔记67:Map集合面试题之List,Set,Map等接口是否继承自Map接口
- java常见的4个类集接口collection,map,List,set
- Java类集(Set接口)
- Java类集--Set接口、HashSet、TreeSet、SortedSet接口
- JAVA类集----Set接口排序及重复元素说明