java中set方法实例,java中set用法

KLQ 2020-06-22 16:56:21 java常见问答 8643

之前给大家介绍一下set集合常用方法,下面就继续给大家介绍一下java中set方法实例,一起来了解一下吧。

首先我们来了解一下set集合的特点吧!

set集合不可以存储相同的元素,又因为它是一个抽象的接口,所以不可以直接实例化一个set对象,除此之外,这个接口主要继承于Collections接口,所以有一些Collection的一些常见的方法。

下面是set集合常见方法:

add( )-向集合中添加元素;clear( )-去掉集合中所有的元素;contains( )-判断集合中是否包含某一个元素;isEmpty( )-判断集合是否为空;iterator( )-主要用于递归集合,返回一个Iterator()对象;remove( )-从集合中去掉特定的对象;size( )-返回集合的大小;

一般的情况下,set接口最常用的两大实现是HashSet和TreeSet。

首先来谈一谈TreeSet。

TreeSet会把里面的元素默认排序。

实例:

package oneone;
import java.util.Scanner;
import java.util.TreeSet;
import java.util.Set;
public class Main
{
    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
        Set < Integer > test = new TreeSet < > ();
        int n = scan.nextInt();
        for (int i = 0; i < n; i++)
        {
            int a = scan.nextInt();
            test.add(a);
        }
        System.out.println(test.size());
        /* //遍历集合test   利用foreach遍历          //输出结果:1   3   8    
         for (Integer value : test) {
             System.out.print(value+" ");
         }    


        //利用Iterator实现遍历
        Iterator<Integer> value = test.iterator();
        while (value.hasNext()) {
            int s = value.next();
            System.out.print(s+" ");
        }                                //输出结果:1   3   8*/
    }
}

set集合添加元素并且使用迭代器迭代元素:

public class Demo4
{
    public static void main(String[] args)
    {
        //Set 集合存和取的顺序不一致。  
        Set hs = new HashSet();
        hs.add("世界军事");
        hs.add("兵器知识");
        hs.add("舰船知识");
        hs.add("汉和防务");
        System.out.println(hs);
        // [舰船知识, 世界军事, 兵器知识, 汉和防务]  
        Iterator it = hs.iterator();
        while (it.hasNext())
        {
            System.out.println(it.next());
        }
    }
}

下面再来看看HashSet:

-- - | Itreable 接口 实现该接口可以使用增强for循环
-- - | Collection 描述所有集合共性的接口
-- - | List接口 可以有重复元素的集合
-- - | ArrayList
-- - | LinkedList
-- - | Set接口 不可以有重复元素的集合
-- - | HashSet 线程不安全, 存取速度快。 底层是以哈希表实现的。

元素的哈希值是通过元素的hashcode方法来获取的, HashSet首先判断两个元素的哈希值。

假如,哈希值相同,接着会比较equals方法,假如,equls结果为true,HashSet就视为同一个元素。

假如equals为false就不是同一个元素。

对于java中set的相关内容就给你介绍到这里了,更多相关实例,可以继续通过本站的java实例栏目来进行了解哦。

推荐阅读:

hashset和treeset区别是什么?有什么区别?

String的equals是怎样实现的?equals方法如何重写?