HashSet简单讲解

HashSet简单的理解就是HashSet对象中不能存储相同的数据,存储数据时是无须的。但是HashSet存储元素的顺序并不是按照存入时的顺序(和List显然不同) 是按照哈希值来存的所以取数据也是按照哈希值取得。存储是无序的这就和C++里的Set就不一样了C++里面的Set是有序的我认为这是在使用时候的主要区别。下面就是HashSet简单的用法:

一.申请方式括号里面的类型是随你的需要更改的。

二.常用方法:

   类型                                            方法名                                          功能

   boolean                                    add(E e)                                       如果当前列表中不存在e, 则将e加入列表

   void                                           clear()                                           从列表中删除所有元素

   boolean                                     contains(Object j)                        判断列表中是否有元素j

   Iterator<E>                                iterator()                                      得到当前列表的遍历器

   boolean                                      remove(Object j)                         如果列表中存在元素j,则将其从列表中删除

   int                                               size()                                       得到列表中元素的个数

三.遍历的方法:

         1.用Iterator来遍历

            

            这是比较常用的方法, 但是这种方法在使用的时候HashSet修改一次之后如果想再次遍历,必须重新申请Iterator,否则               无法遍历,但是把Itetator放在一个函数里, 那么就省去多次申请Iterator了。

            2.这种方法就是用for循环遍历。

               

             这种方法我感觉还行,具体用那种方法遍历自己斟酌。

四.简单的使用

    package cn.java.text.Main;
    import java.util.*;
    public class Main4 {//HashSet
     
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner ip = new Scanner(System.in);
            HashSet<String> hashSet = new HashSet<String>();
            int i;
            String aString;
            for(i = 0; i < 6; i++) {
                aString = ip.next();
                hashSet.add(aString);//加入列表
            }
            Iterator<String> iterator = hashSet.iterator();//遍历器
            while(iterator.hasNext())System.out.print(iterator.next()+" ");//判断是否有,有就输出
            String bString;
            bString =  ip.next();
            hashSet.remove(bString);//删除
            /*Iterator iterator2 = hashSet.iterator();
            while(iterator2.hasNext()) {//遍历器遍历
                System.out.print(iterator2.next()+"  ");
            
            }*/
            for(String string: hashSet)System.out.print(string + " ");//for循环遍历
     
        }
     
    }

五.当HashSet是整型时


---------------------
作者:Re:fused
来源:CSDN
原文:https://blog.csdn.net/refusing/article/details/80617783
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-07-06 17:31  天涯海角路  阅读(202)  评论(0)    收藏  举报