关闭

Java(集合类)第二部分(Set)

标签: java
103人阅读 评论(0) 收藏 举报
分类:

Set一般不能直接使用,可以直接使用的类是HashSet,TreeSet,LinkedHashSet,这几个类虽然在内部实现上有所不同,但由于其实现了相同的接口,因此使用方法基本相同。TreeSet还实现类SortedSet接口,可以对自合中的元素排序

1.HashSet类
HashSet继承自AbstractSet并且实现了Set接口。它创建了一个类集合,该类集合使用散列表进行存储。散列表通过使用散列法的机制来存储信息。
在散列中使用一个关键字来确定唯一的一个值,称为散列值,而散列值则被用来当作与关键字相连数据的存储下标。关键字到其散列值的转换是自动执行的,散列值本身看不到,程序代码也不能直接索引散列表。
HashSet类的构造方法,
HashSet()构造一个默认的散列集合
HashSet(Collection c)用集合c中的元素初始化散列集合
HashSet(int capacity)用capacity初始化散列集合的容量
HashSet(int capacity,float fillRatio)用它的参数初始化散列集合的容量和填充比(加载容量)
//填充比必须介于0.0与1.0之间,用于确定在散列表集合向上调整大小之前有多少能被填充,具体的说,就是当元素的个数大于散列集合容量乘以它的填充比时,散列集合被扩大。对于没有获得填充比的构造函数,默认使用0.75

import java.util.HashSet;

public class HashSetDemo {
    public static void main(String[] args) {
        HashSet hashSet=new HashSet();
        hashSet.add("A");
        hashSet.add("B");
        hashSet.add("C");
        hashSet.add("D");
        hashSet.add("E");
        hashSet.add("F");
        hashSet.add("A");
        System.out.println(hashSet);
    }
}

结果
[A, B, C, D, E, F]
分析:从输出结果可以看出,元素并没有按顺序进行存储,并且也没有重复元素。

2.TreeSet
TreeSet是使用树结构存储元素的类集合,对象按升序存储,访问和检索是很快的。在存储了大量需要进行快速检索的排序信息的情况下,TreeSet是一个很好的选择。
TreeSet()构造一个空的树集合该树集合将根据其元素的自然排序按升序排序
TreeSet(Collection c)构造一个包含了c的元素的树集合
TreeSet(SortedSet ss)构造了一个包含了ss元素的树集合

import java.util.*;
public class TreeSetDemo {
    public static void main(String[] args) {
        TreeSet hsSet=new TreeSet();
        hsSet.add("D");
        hsSet.add("E");
        hsSet.add("F");
        hsSet.add("A");
        hsSet.add("B");
        hsSet.add("C");
        hsSet.add("A");
        System.out.println(hsSet);
        System.out.println(hsSet.first());
        System.out.println(hsSet.last());
        System.out.println(hsSet.lower("E"));
        System.out.println(hsSet.pollLast());
        System.out.println(hsSet);
    }

}

结果
[A, B, C, D, E, F]
A
F
D
F
[A, B, C, D, E]

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:73183次
    • 积分:3144
    • 等级:
    • 排名:第11331名
    • 原创:248篇
    • 转载:0篇
    • 译文:0篇
    • 评论:14条
    最新评论