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是整型时


猜你喜欢

转载自blog.csdn.net/REfusing/article/details/80617783