【JAVA】关于HashSet类的添加、删除、遍历实例及与ArrayList的区别。

一、HashSet与ArrayList的区别

HashSet中的数据内容不能重复,而ArrayList中的内容可以重复。

比如:你往ArrayList中存入三个值:“王五”、“赵六”、“王五”显示的是三个值,而HashSet显示的是两个值:“赵六”、“王五”,因为,王五重复了,后面的会把前面的替换掉。

二、比较两个对象是否相等(equals函数)

比较的是内容,不是地址。

三、增加、删除、遍历实例(单元素,不是数组对象)

package z_Hashset;
import java.util.HashSet;

public class book {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashSet<String> m_book = new HashSet<String>(); // 声明一个对象 
		
		// ======== 【添加】往m_book中添加内容,每个内容一个元素。
		
		m_book.add("1、《Java大全》");
		m_book.add("2、《Excel入门》");
		m_book.add("3、《Word精通》");
		m_book.add("4、《HTML指南》");
		m_book.add("5、《SQL数据库基础》");
		
		// 循环遍历出 m_book中每一个元素的值。 

		System.out.println("=============  完整内容  ============");
		
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		System.out.println("添加相同内容:"+"5、《SQL数据库基础》  "+"之后的显示");
		System.out.println("添加相同内容:"+"6、《mysql数据库基础》  "+"之后的显示");
		System.out.println("=============  添加后内容  ============");

		m_book.add("5、《SQL数据库基础》");
		m_book.add("6、《mysql数据库基础》");

		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		System.out.println("=============  删除1、2后的内容  ============");
		
		
		m_book.remove("1、《Java大全》");  // 按内容删除,注意:内容要一模一样.
		m_book.remove("2、《Excel入门》");  // 按内容删除,注意:内容要一模一样.
		
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		System.out.println("=============  全部清空后的内容  ============");
		// ======= 【删除】删除m_book某元素的值。 

		
		m_book.clear();  // 清空内容.
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
	}

}

四、增加、删除、遍历实例(数组对象元素,用For和)

1.student.java(数据结构-构造类)

package z_Hashset;// 运行代码时,注意先建立这个【包】

public class Student {
	

	private int id;   // 编号
	private String name;// 姓名
	private String old;// 年龄
	
	public Student() {}
	public Student(int id, String name, String old) {

		this.id = id;
		this.name = name;
		this.old = old;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getOld() {
		return old;
	}
	public void setOld(String old) {
		this.old = old;
	}
	
	
}

2.HashSetDemo.java(用iteratorFor遍历实例)

package z_Hashset; // 运行代码时,注意先建立这个【包】

import java.util.*;

import Z_LinkedList.Student;
public class HashSetDemo {

	public static void main(String[] args) {

		Set mm=new HashSet();
		Student student_1=  new Student(1,"张三","15");  // 实例化Student类,id,name,old
		Student student_2=  new Student(2,"李四","16");
		Student student_3=  new Student(3,"王五","16");	

		mm.add(student_1);  // 把类存入数组LinkedList中 
		mm.add(student_2);
		mm.add(student_3);
		mm.add(new Student(4,"老大","18"));  // 在第一条插入

		System.out.println("学生总数为:"+mm.size());
		
		System.out.println("====== 用For遍历HashSet =======");

		for(Object obj:mm)  // 用For遍历对象
		{
			Student student=(Student)obj;  // 把Student转换成一个数据集合对象
			
			System.out.println(student.getId()+"."+student.getName()+"   年龄:"+student.getOld());
		}
		
		
		System.out.println("====== 用Iterator遍历HashSet =======");

		Iterator iter = mm.iterator();// 用iterator遍历对象
		
		while(iter.hasNext())  
		{
			Student s_student=(Student)iter.next();  // 把Student转换成一个数据集合对象
			
			System.out.println(s_student.getId()+"."+s_student.getName()+"   年龄:"+s_student.getOld());
		}
		
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

敦厚的曹操

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

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

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

打赏作者

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

抵扣说明:

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

余额充值