`
rainShare
  • 浏览: 102426 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

实现Set中不保存相同类的实例

    博客分类:
  • Java
阅读更多
public interface IA {
}


public class B implements IA {
}


public class C implements IA {
}


public class Main {
	
	Set<IA> classSet = new HashSet<IA>();
	
	public void setClassSet(Set<IA> set){
		this.classSet = set;
	}
	
	public boolean validation(IA a){
		boolean flag = true;
		Iterator<IA> it = classSet.iterator();
		while(it.hasNext()){
			String paramClass = a.getClass().getCanonicalName();
			String paramClassName = paramClass.substring(paramClass.lastIndexOf('.')+1);
			
			IA obj = it.next();
			String savedClass = obj.getClass().getCanonicalName();
			String savedClassName = savedClass.substring(savedClass.lastIndexOf('.') + 1);
			
			if ( paramClassName.equals(savedClassName)){
//				classSet.add(a);
				flag = false;
				System.out.println("you register class has registered : "+paramClassName);
			}
		}
		return flag;
		
	}

	public static void main(String[] args) throws ClassNotFoundException {
		B b = new B();
		C c = new C();
		Set<IA> set = new HashSet<IA>();
		set.add(b);
		Main m = new Main();
		m.setClassSet(set);
		
		if(m.validation(c)){
			set.add(c);
		}
		
		m.validation(b);
		
		System.out.println(set.size());
}
}
分享到:
评论

相关推荐

    php实现的Cookies操作类实例

    为了提高安全性,该类中还可能包含了对数据进行序列化和反序列化的操作,这是因为直接存储数组或对象类型到Cookies是不安全的。通过序列化可以将复杂类型转换为字符串,然后再存储。 在Web应用中,合理的使用...

    C#类的综合实例 很经典的一个类的实例

    由于所有学生选修的课程相同,因此这些数据不需要每个学生实例都保存一份。 4. **数组和泛型**: - `Course[] list` 是一个 `Course` 类对象的数组,用于存储所有课程的信息。数组是一种数据结构,可以存储相同...

    使用XmlSerializer类将对象序列化为Xml格式保存

    在这个场景下,我们将探讨如何使用`XmlSerializer`类将对象序列化为XML格式,并保存到文件中。 首先,我们需要一个要序列化的对象。这个对象通常是一个自定义类,包含一些属性和字段。在C#中,我们可以通过在类和...

    接口与抽象类

    - **接口**:不能实例化,实现类可以实例化。 - **抽象类**:不能直接实例化,必须通过子类实现抽象方法后才能实例化。 6. **设计目的**: - **接口**:主要用于定义行为规范或约束,强调的是“能做什么”。 - ...

    hibernate 一对多,两个实例项目

    在Hibernate中,一对多关系可以通过在实体类中定义集合属性(如List、Set等)来实现,同时配合使用`@OneToMany`注解。例如,一个学生可以有多个课程,那么"学生"就是"一"端,"课程"就是"多"端。配置时,需要指定`...

    tomcat+nginx+redis 实现sessionId共享 实例

    这个实例“tomcat+nginx+redis 实现sessionId共享”旨在教你如何在使用Tomcat作为应用服务器、Nginx作为反向代理服务器的环境中,利用Redis来实现跨服务器的会话(sessionId)共享。这对于在分布式系统中保持用户...

    java中List的用法和实例详解.pdf

    这意味着在`List`中可以保存多个相同的对象,并且可以通过它们插入的顺序来检索。 #### List接口的特点 1. **有序性**:`List`中的元素是按照插入顺序进行排列的。 2. **可重复性**:`List`允许同一个对象多次出现...

    JS中的算法与数据结构之集合(Set)实例详解

    集合(Set)是由一组无序但彼此之间又有一定关系性的成员构成,每个成员在集合中只能出现一次,不同于我们之前说的字典,链表之类的,它是一种包含了不同元素的数据结构(集合中的元素称为成员),从其定义中我们可以...

    PHPExcel实例

    数据验证则可以通过setValidation()方法实现,用于限制单元格输入的数据类型或范围。 七、性能优化 由于PHPExcel处理大文件时可能消耗大量内存,可以利用其提供的内存优化策略,如分块读写,或者使用SharedStrings...

    设计模式的Java实现

    Java中,通常通过抽象工厂类和具体实现类来实现。 3. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。在Java中,可以通过接口和实现类组合实现。 4. **建造者模式**:将...

    C#两个类之间传值Demo

    - 如果两个类都实现了相同的接口,可以通过接口来传递数据。 ```csharp interface IValueProvider { int GetValue(); } class ClassA : IValueProvider { public int GetValue() =&gt; 5; } class ClassB {...

    保存到数据库程序(VB6.0源代码编写)可将数据保存到access数据库中

    标题中的“保存到数据库程序(VB6.0源代码编写)”指的是使用Visual Basic 6.0编程语言编写的程序,其主要功能是将数据存储到Access数据库中。Access数据库是微软开发的一种关系型数据库管理系统(RDBMS),适用于小型...

    java面试宝典

    46、java 中实现多态的机制是什么? 12 47、在java 中一个类被声明为final 类型,表示了什么意思? 12 48、下面哪些类可以被继承? 12 49、指出下面程序的运行结果: 【基础】 13 52、关于内部类: 13 53、数据类型...

    matplotlib savefig 保存图片大小的实例

    然而,这样的操作在使用plt.savefig函数保存图片时会导致图例被截断,因为matplotlib在保存图片时默认的布局和直接显示在屏幕上的布局并不完全相同。为了给图例腾出空间,可以使用fig.subplots_adjust函数来调整子图...

    c# 树形递归实例

    在这个"WebApplication1"项目中,我们可以看到一个关于如何在C#中实现树形递归的实例。树形递归是一种处理具有层次关系数据的方法,特别是在处理树形控件时非常有用。下面,我们将深入探讨这个主题。 首先,理解树...

    C# 加密文件、文件夹、解密文件、文件夹,有实例

    在C#中,可以使用.NET框架提供的System.Security.Cryptography命名空间内的类来实现这一过程。 1. **AES加密算法**:AES(Advanced Encryption Standard)是一种广泛应用的对称加密算法,速度快且安全性高。在C#中...

    S2实现java面向对象编程1—16PPT

    9. **集合框架**:Java的集合框架包括List、Set、Queue和Map等接口,以及ArrayList、HashSet、LinkedList、HashMap等实现类。它们提供了存储和操作对象的容器,是Java编程中不可或缺的部分。 10. **泛型**:泛型...

    xml序列化解析与保存可直接应用于项目中(C#源码)

    描述中提到的“读取xml文件并解析将解析的结果保存至定义类的对象中”,这部分工作由XML反序列化完成,通过指定的XML文件生成对应的对象实例。另一方面,“保存,是将该对象的内容保存至xml配置文件中”则涉及XML...

    delphi7二维码生成实例bmp

    本实例将深入探讨如何在Delphi 7中生成二维码并将其保存为BMP图像文件。 首先,我们需要一个二维码生成库。Delphi 7本身并不内置二维码生成功能,所以我们需要引入第三方组件。例如,可以使用开源项目“ZXing.Net”...

Global site tag (gtag.js) - Google Analytics