Java集合类-HashSet与TreeSet集合
原创约 788 字大约 3 分钟...
226-Java集合类-HashSet与TreeSet集合.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
概念

示例代码
package com.tencent.chapter02;
import java.util.HashSet;
import java.util.Iterator;
import java.util.TreeSet;
public class HashSetAndTreeSet {
public static void main(String[] args) {
/**
HashSet:其底层 HashMap
1.无序:添加元素的顺序与内存中存储的顺序不一致
2.不允许重复:使用equals()机制进行比较
3.允许null值
4.存储结构:哈希存储
5.集合只允许存储引用类型对象,但是基本数据类型可以自动装箱
6.HashSet的效率 > TreeSet的效率
*/
//构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75
HashSet hashSet = new HashSet();
hashSet.add(null);
hashSet.add(null); //被排除
hashSet.add("abc");
hashSet.add(new String("abc")); //被排除
hashSet.add(10); //自动装箱 基本类型 -> 包装类Integer
hashSet.add(true); //自动装箱 基本类型 -> 包装类Boolean
//System.out.println(hashSet);//[null, abc, true, 10]
/**
* TreeSet:其底层 TreeMap
1.无序:添加元素的顺序与内存中存储的顺序不一致,但是会根据元素的自然顺序排序,需要使用Comparable接口中的compareTo()方法进行两两比较,必须保证元素类型一致
2.不允许重复:使用equals()机制进行比较
3.不允许null值: 因为需要使用Comparable接口中的compareTo()方法进行两两比较,而null不能调用任何方法
4.存储结构:二叉树结构排序(红黑树)
5.集合只允许存储引用类型对象,但是基本数据类型可以自动装箱
*/
//构造一个新的空 set,该 set 根据其元素的自然顺序进行排序
TreeSet treeSet = new TreeSet();
//treeSet.add(null); //java.lang.NullPointerException 值不允许为null
treeSet.add(97);
treeSet.add(88);
treeSet.add(2);
treeSet.add(123);
treeSet.add(865);
treeSet.add(88);
System.out.println(treeSet);//[2, 88, 97, 123, 865]
/**
* 遍历:for,因为无序,不能使用下标进行访问
*/
for (int i = 0; i < treeSet.size(); i++) {
}
/**
* 遍历:forEach
*/
for (Object element : treeSet) {
System.out.println(element);
}
System.out.println("----------------------");
/**
* 迭代器遍历:iterator
*/
Iterator iterator = treeSet.iterator();
while(iterator.hasNext())
{
//Object element = iterator.next();
System.out.println(iterator.next());
}
}
}
分割线
相关信息
以上就是我关于 Java集合类-HashSet与TreeSet集合 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。
扩展知识
Collection接口:是一个集合接口,用于保存引用类型的对象,是List与Set的父接口
List:有序,允许重复
ArrayList: 线性存储,查询效率高,新增与删除效率较低
LinkedList:链表存储,查询效率较低,新增与删除效率较高
Set :无序,不允许重复
HashSet:哈希存储
TreeSet:二叉树存储,自然顺序排序
Collections:操作集合的工具类,提供static方法用于访问Collection集合中的元素
Arrays:操作数组的工具类
Map集合:键值对存储方式
HashMap、TreeMap、HashTable
分割线
Powered by Waline v2.15.4