Java 集合框架----HashSet

Java 集合框架(续)—HashSet


Tips:HashSet 是 Set 接口的一个实现类,能存储不重复的元素,元素的存放是无序的。

1、HashSet的构造:

HashSet hash=new HashSet([Parameter1,Parameter2]);
  • HashSet( ):构造空的HashSet,默认初始容量16,加载因子0.75(数据密集程度);
  • HashSet(int initialCapacity , float loadFactor ):构造指定初始容量和加载因子的HashSet实例对象。

2、向HashSet实例对象中添加元素:

hashset.add(字符串/整型数/字符/数组/对象类...);
*注:add()方法中,若set中没有要添加的obj,则把要添加的obj添加到set中并返回true,否则返回false.

3、HashSet常用方法:

  • hash.clear():删除该set中的所有元素
  • hash.remove(Object o):删除指定的元素
  • hash.isEmpty():若该set中没有元素,则返回true
  • hash.contains(Object o):若该set包含指定的元素,返回true
  • hash.size():返回set的容量

4、HashSet的元素添加和遍历实例:

/*HashSetTest1.java*/

import java.util.*;
public class HashSetTest1 {

    public static void main(String[] args) {

        HashSet hash=new HashSet();

        //print the current size of hashset
        System.out.println(hash.size());

        //add some different type of data to the hashset
        hash.add("abc");
        hash.add(1);
        hash.add('a');
        int[] list= {1,2,3};
        hash.add(list);

        //print the current size of hashset
        System.out.println(hash.size());

        //遍历 hashset
        Iterator ite=hash.iterator();//使用迭代器进行遍历
        while(ite.hasNext()) {

            Object obj=ite.next(); //创建对象类型

            /*
            System.out.println(obj);
            数组结果无法正确输出!
            */

            if(obj instanceof Integer) {
                System.out.println("Integer: "+obj);
            }
            else if(obj instanceof String) {
                System.out.println("String: "+obj);
            }
            else if(obj instanceof Character) {
                System.out.println("Character: "+obj);
            }
            else if(obj instanceof int[]) {
                System.out.print("int[]: ");
                for(int i=0;i<list.length;i++) {
                    System.out.print(list[i]+" ");
                }
                System.out.println();
            }

        }


    }

}

/*
0
4
int[]: 1 2 3 
Integer: 1
Character: a
String: abc
*/

转载自:https://blog.csdn.net/tingzhiyi/article/details/52152487


猜你喜欢

转载自blog.csdn.net/AwayFuture/article/details/80399553