`
i拾贝
  • 浏览: 30007 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java中的Set接口

    博客分类:
  • java
阅读更多

java中的Set接口

set是Collection的子接口;

set接口容器类中的元素是没有顺序的,且不能重复;

set容器类有HashSet,TreeSet等。

 TestSet1.java

import java.util.*;

//Set方法举例1
public class TestSet1 {
	public static void main(String[] args) {
		Set s = new HashSet();
		s.add("hello");
		s.add("world");
		s.add(new Name("f1","l1"));
		s.add(new Integer(100));
		s.add(new Name("f1","l1"));//相同的元素不会被加入
		s.add("hello");
		
		System.out.println(s);//[world, 100, hello, f1 l1]
		
		
	}
}

class Name /*implements Comparable*/ {
    private String firstName,lastName;
    public Name(String firstName, String lastName) {
        this.firstName = firstName; this.lastName = lastName;
    }
    public String getFirstName() {  return firstName;   }
    public String getLastName() {   return lastName;   }
    public String toString() {  return firstName + " " + lastName;  }
    
	/**
	*	重写equals方法
	*/
    public boolean equals(Object obj) {
	    if (obj instanceof Name) {
	        Name name = (Name) obj;
	        return (firstName.equals(name.firstName))
	            && (lastName.equals(name.lastName));
	    }
	    return super.equals(obj);
	}
	/**
	*	重写hashCode方法
	*/
	public int hashCode() {
		    return firstName.hashCode();
	}
		
}

 

F:\java>javac TestSet1.java
注: TestSet1.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

F:\java>java TestSet1
[world, 100, hello, f1 l1]

F:\java>

 

 TestSet2.java

import java.util.*;

//Set方法举例1
public class TestSet2 {
	public static void main(String[] args) {
		Set s1 = new HashSet();
		Set s2 = new HashSet();
		s1.add("a");
		s1.add("b");
		s1.add("c");
		
		s2.add("d");
		s2.add("a");
		s2.add("b");
		
		//Set和List都具有Constructor(Collection c)
		//构造方法用于初始化容器类
		Set sn = new HashSet(s1);//赋值
		sn.retainAll(s2);//求交集
		System.out.println(sn);//[a, b]
		
		Set su = new HashSet(s1);//赋值
		su.addAll(s2);//求交集		
		System.out.println(su);//[a, b, c, d]
		
	}
}

 

F:\java>javac TestSet2.java
注: TestSet2.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

F:\java>java TestSet2
[a, b]
[a, b, c, d]

F:\java>

 

 

 

 

分享到:
评论

相关推荐

    java中set接口使用方法详解

    在Java编程中,Set接口是集合框架的一部分,它继承自Collection接口,主要用于存储不包含重复元素的集合。Set接口的实现类主要有HashSet、TreeSet和LinkedHashSet,它们各自有不同的特性和使用场景。 1. **HashSet*...

    Java中Set的深入研究

    在深入探讨Java中Set接口的实现细节之前,我们先来明确一下Set在Java中的核心概念。Set接口是Java集合框架的一部分,它代表了一个数学抽象集合,即不允许包含重复元素的集合。更正式地讲,根据其Javadoc文档,Set是...

    10.javaSet 接口及其实现类.zip

    10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类....

    java 运用集的相关类(Set)

    在Java中,Set接口是集合框架的一部分,它代表了不包含重复元素的无序集合。本篇将深入探讨Java中Set接口及其相关的实现类,以及如何在实际编程中运用。 Set接口继承自Collection接口,其主要特性是元素的唯一性,...

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

    java中set和get方法的理解

    在Java面向对象编程中,封装是一种重要的原则,它指的是隐藏对象的具体实现细节,并只暴露有限的接口给外界使用。这有助于保护数据的完整性和安全性。 - **私有变量**: 使用`private`关键字声明的变量只能在当前类...

    java 接口练习作业

    实现接口意味着一个类承诺实现接口中所有的抽象方法。在类声明中,我们使用`implements`关键字来实现接口: ```java public class MyClass implements MyInterface { public void method1() { // 实现方法1 } ...

    Java集合框架Set接口.pdf

    Set接口中常用的方法有: - `add(E e)`:向集合中添加元素,如果元素已存在则不添加。 - `remove(Object o)`:移除指定元素,如果集合中不存在该元素,则返回false。 - `contains(Object o)`:判断集合中是否包含...

    JAVA IntSet 数列集合

    在Java编程语言中,`IntSet`是一种特殊的集合类,专用于存储整数。它类似于标准的`java.util.Set`接口,但只处理基本类型`int`,而非包装类`Integer`。`IntSet`的设计目标是提高性能,因为与对象相比,基本类型的...

    set接口经常用的hashCode和equals方法详解

    ### set接口中hashCode和equals方法详解 #### 一、引言 在Java编程语言中,`Set`接口作为集合框架的重要组成部分,在实现无重复元素的数据结构方面扮演着关键角色。为了确保元素的唯一性,`Set`接口依赖于对象的`...

    对Java中Set的深入研究

    #### 二、Set接口概述 在Java中,`Set`接口定义如下: ```java public interface Set<E> extends Collection<E> { // 接口中定义的方法... } ``` 该接口继承自`Collection`接口,意味着`Set`也支持`add`、`...

    Java中的interface接口

    自Java 8起,接口引入了默认方法(default methods),它们有方法体且可以在接口中定义。默认方法允许在不破坏已有实现类的情况下扩展接口。同时,接口还可以包含静态方法,它们不属于接口的任何实现类,而是通过...

    Java日期操作接口

    本篇文章将详细探讨Java中的日期操作接口,特别是围绕"Java日期操作接口"这个主题,以及与之相关的`DateFilter.java`文件。 首先,Java中最基础的日期类是`java.util.Date`。这个类自Java 1.0起就存在,但它的设计...

    Java 本地接口规范

    综上所述,Java本地接口规范(JNI)是Java生态系统中的一个关键组成部分,它不仅连接了Java世界与本地代码的世界,还为Java开发者提供了强大的工具箱,使他们能够在各种应用场景下发挥Java的优势。通过深入理解JNI的...

    对Java中Set的深入研究.pdf

    Java中的Set接口是基于集合概念实现的,它不包含重复元素。Set接口继承自Collection接口,并且不保证集合中元素的顺序,某些Set实现可能会按照插入顺序或特定规则排序。以下是对Java Set实现的一些深入讨论: 1. **...

    java List、Set与Array之间的相互转换

    7. **Java集合框架的理解**:了解Java集合框架的设计理念,如List接口实现了有序且允许重复的序列,Set接口实现了无序且不允许重复的集合,以及Array是固定大小的原始类型或对象的数组,有助于更好地理解这些转换...

    Java应用:两种Java容器类List和Set分析

    Set接口简介** - `Set`也是`Collection`接口的一个子接口,其特点是不允许重复元素。 - 主要用于存储唯一性的元素集合,可以避免数据重复带来的问题。 - 常见实现类包括`HashSet`、`TreeSet`和`LinkedHashSet`。 ...

    Java API接口详述.rar

    4. `java.util.List`, `Set` 和 `Map`: 这些接口定义了集合框架的核心接口,提供数据存储和操作的统一标准。 类则是Java程序的基本构造块,它们通过关键字`class`定义。Java API中包含大量内置类,如: 1. `java....

    JAVA与WORD接口jacob_1.9

    Java与Word接口Jacob_1.9是一个用于在Java应用程序中操作Microsoft Word文档的库。Jacob全称为Java COM Bridge,它提供了Java与COM组件之间的桥梁,允许开发者通过Java代码调用和控制Word的功能,如创建、读取、修改...

Global site tag (gtag.js) - Google Analytics