Set,HashSet,TreeSet学习记录

本文介绍了Java集合框架中的Set接口,重点讲解了HashSet和TreeSet的特点与使用。HashSet基于哈希表,不保证元素顺序且不允许重复;TreeSet则按特定规则排序,同样不允许重复,支持迭代器遍历。示例代码展示了如何添加元素及遍历这两种集合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Set

package jihe;

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

/*
 * Set集合不包含重复的元素
 * 没有带索引的方法,所以不能使用for循环,可以使用增强for
 * 
 * HashSet:对集合的迭代顺序不做任何保证
 */
public class Setdome {
	public static void main(String[] args) {
		Set<String> s=new HashSet<String>();       //创建集合对象   Set是个接口不能直接实例化
		
		s.add("hello");  //添加元素
	    s.add("java");   
	    
	    //增强for遍历
	    for(String s1:s) {
	    	System.out.println(s1);
	    }
	    //迭代器遍历
		 Iterator<String> i=s.iterator();
		 while(i.hasNext()) {
			 String s2=i.next();
			 System.out.println(s2); 
		 }
	}
}

HashSet:

package jihe;

import java.util.HashSet;

/*
 * HashSet集合特点:
 * 底层数据结构是哈希表
 * 对集合迭代顺序不做保证
 * 没有带索引的方法即不可以使用普通for循环遍历
 * 不包含重复元素
 */
public class HashSetdome {
	 public static void main(String[] args) {
		 HashSet<String> hs=new HashSet<String>();   //创建集合对象
		 //添加元素
		 hs.add("hello");
		 hs.add("java");
		 hs.add("world");
		 
		 //遍历
		 for(String s : hs) {
			 System.out.println(s);
		 }
		 
	 }
}

TreeSet:

package jihe;
/*
 * 元素按照一定的规则进行排序
 * 没有带索引的方法,所以不能使用for循环,可以使用增强for和迭代器
 * 不包含重复的元素
 */
import java.util.TreeSet;

public class TreeSetdome {
	public static void main(String[] args) {
		TreeSet<Integer> t=new TreeSet<Integer>();  //创建集合对象  集合存储的是引用类型 所以用int的包装类型Integer
		
		//添加元素
		t.add(10);
		t.add(90);
		t.add(20);
		t.add(50);
		t.add(40);
		t.add(20);
		for(Integer i:t) {
	    	System.out.println(i);
	    }
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值