之前给大家介绍一下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实例栏目来进行了解哦。
推荐阅读: