Set集合

Set接口存储一组唯一,无序的对象。

HashSet 是Set接口常用的实现类。

HashSet允许集合元素值为null

操作数据的方法与List类似,Set接口不存在get()方法。

Iterator接口表示对集合进行迭代的迭代器,专门实现集合的遍历。

方法:

            hasNext():判断是否存在另一个可访问的元素

            next():返回要访问的下一个元素

package com.hpe.collection;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import org.junit.Test;
/*
 * set存储元素是无序的
 * 无序性:并不随机,指在元素在底层存储的元素位置是无序的
 * 不可重复性:当向Set中添加相同的元素时,后面元素不能添加
 * 要求添加进Set中元素所在的类,一定要重写equals方法和hashcode方法
 * 1.Set中的元素存储机制:使用哈希算法
 * 当向Set中添加对象时,首先调用此对象所在hashcode方法,计算对象的哈希值决定了此对象在
 * Set中的存储位置,若此对象位置没有对象存储,则这个对象存储在此位置,若此位置有对象存储,再通过equals方法
 * 比较两个对象是否相同,如果相同则只添加前一个。
 * 
 * 与List不同的是没有get方法
 */
public class TestSet {
    @Test
    public void testHashSet1() {
    	Set set = new HashSet();
    	set.add(123);
    	set.add(567);
    	set.add("abc");
    	set.add(null);
    	set.add("A");
    	Person p1 = new Person("zhangsan",15);
    	Person p2 = new Person("zhangsan",15);
    	set.add(p1);
    	set.add(p2);
    	System.out.println(set.size());
    	System.out.println(set);
    }
    @Test
    public void testHashSet2() {
    	Set set = new HashSet();
    	set.add(123);
    	set.add(567);
    	set.add("abc");
    	set.add(null);
    	set.add("A");
    	Iterator iterator = set.iterator();
    	while(iterator.hasNext()) {
    		System.out.println(iterator.next());
    	}
    	for(Object obj : set) {
    		System.out.println(obj);
    	}
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fugogo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值