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接口是集合框架的一部分,它继承自Collection接口,主要用于存储不包含重复元素的集合。Set接口的实现类主要有HashSet、TreeSet和LinkedHashSet,它们各自有不同的特性和使用场景。 1. **HashSet*...
在深入探讨Java中Set接口的实现细节之前,我们先来明确一下Set在Java中的核心概念。Set接口是Java集合框架的一部分,它代表了一个数学抽象集合,即不允许包含重复元素的集合。更正式地讲,根据其Javadoc文档,Set是...
10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类....
在Java中,Set接口是集合框架的一部分,它代表了不包含重复元素的无序集合。本篇将深入探讨Java中Set接口及其相关的实现类,以及如何在实际编程中运用。 Set接口继承自Collection接口,其主要特性是元素的唯一性,...
// java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...
在Java面向对象编程中,封装是一种重要的原则,它指的是隐藏对象的具体实现细节,并只暴露有限的接口给外界使用。这有助于保护数据的完整性和安全性。 - **私有变量**: 使用`private`关键字声明的变量只能在当前类...
实现接口意味着一个类承诺实现接口中所有的抽象方法。在类声明中,我们使用`implements`关键字来实现接口: ```java public class MyClass implements MyInterface { public void method1() { // 实现方法1 } ...
Set接口中常用的方法有: - `add(E e)`:向集合中添加元素,如果元素已存在则不添加。 - `remove(Object o)`:移除指定元素,如果集合中不存在该元素,则返回false。 - `contains(Object o)`:判断集合中是否包含...
在Java编程语言中,`IntSet`是一种特殊的集合类,专用于存储整数。它类似于标准的`java.util.Set`接口,但只处理基本类型`int`,而非包装类`Integer`。`IntSet`的设计目标是提高性能,因为与对象相比,基本类型的...
### set接口中hashCode和equals方法详解 #### 一、引言 在Java编程语言中,`Set`接口作为集合框架的重要组成部分,在实现无重复元素的数据结构方面扮演着关键角色。为了确保元素的唯一性,`Set`接口依赖于对象的`...
#### 二、Set接口概述 在Java中,`Set`接口定义如下: ```java public interface Set<E> extends Collection<E> { // 接口中定义的方法... } ``` 该接口继承自`Collection`接口,意味着`Set`也支持`add`、`...
自Java 8起,接口引入了默认方法(default methods),它们有方法体且可以在接口中定义。默认方法允许在不破坏已有实现类的情况下扩展接口。同时,接口还可以包含静态方法,它们不属于接口的任何实现类,而是通过...
本篇文章将详细探讨Java中的日期操作接口,特别是围绕"Java日期操作接口"这个主题,以及与之相关的`DateFilter.java`文件。 首先,Java中最基础的日期类是`java.util.Date`。这个类自Java 1.0起就存在,但它的设计...
综上所述,Java本地接口规范(JNI)是Java生态系统中的一个关键组成部分,它不仅连接了Java世界与本地代码的世界,还为Java开发者提供了强大的工具箱,使他们能够在各种应用场景下发挥Java的优势。通过深入理解JNI的...
Java中的Set接口是基于集合概念实现的,它不包含重复元素。Set接口继承自Collection接口,并且不保证集合中元素的顺序,某些Set实现可能会按照插入顺序或特定规则排序。以下是对Java Set实现的一些深入讨论: 1. **...
7. **Java集合框架的理解**:了解Java集合框架的设计理念,如List接口实现了有序且允许重复的序列,Set接口实现了无序且不允许重复的集合,以及Array是固定大小的原始类型或对象的数组,有助于更好地理解这些转换...
Set接口简介** - `Set`也是`Collection`接口的一个子接口,其特点是不允许重复元素。 - 主要用于存储唯一性的元素集合,可以避免数据重复带来的问题。 - 常见实现类包括`HashSet`、`TreeSet`和`LinkedHashSet`。 ...
4. `java.util.List`, `Set` 和 `Map`: 这些接口定义了集合框架的核心接口,提供数据存储和操作的统一标准。 类则是Java程序的基本构造块,它们通过关键字`class`定义。Java API中包含大量内置类,如: 1. `java....
Java与Word接口Jacob_1.9是一个用于在Java应用程序中操作Microsoft Word文档的库。Jacob全称为Java COM Bridge,它提供了Java与COM组件之间的桥梁,允许开发者通过Java代码调用和控制Word的功能,如创建、读取、修改...