一天一个类,一点也不累 之 Set接口

我们的口号是:一天一个类,一点也不累~~

再次回忆一下集合相关的类图。

官方API上这样介绍这个接口:

A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1 and e2 such that e1.equals(e2), and at most one null element. As implied by its name, this interface models the mathematical set abstraction.

这个集合类不能容纳有复制品的元素,也就是不存在两个元素相等(equals),充其量存在一个NULL元素。  

他提供的一些方法如下:

  int size();

boolean isEmpty();

boolean contains(Object o);

Iterator<E> iterator();

 Object[] toArray();

<T> T[] toArray(T[] a);

boolean add(E e);

boolean remove(Object o);

boolean containsAll(Collection<?> c);

boolean addAll(Collection<? extends E> c);

boolean retainAll(Collection<?> c);

boolean removeAll(Collection<?> c);

void clear();

boolean equals(Object o);

int hashCode();

而这些方法需要实现类来实现具体的操作。

时间: 2024-11-10 00:55:26

一天一个类,一点也不累 之 Set接口的相关文章

一天一个类,一点也不累 之 LinkedList

我们的口号是,一天一个类,一点也不累 .. 今天要讲的是---LinkedList 首先,还是看看他的组织结构 Class LinkedList<E> java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java.util.AbstractSequentialList<E> java.util.LinkedList<E> Type Parameter

一天一个类,一点也不累 之 Vector

一天一个类,一点也不累. 今天要说的是ArrayList的亲兄弟--Vector 亲兄弟?看看“族谱” Class Vector<E> java.lang.Object java.util.AbstractCollection<E> java.util.AbstractList<E> java.util.Vector<E> All Implemented Interfaces: Serializable, Cloneable, Iterable<E&g

35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

  35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和: (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n!): (4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现 接口的类. p

按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n!);

package com.homework2; public class ClassA implements InterfaceA { @Override public int method(int n) { int sum = 0; for(int i = 0; i<=n;i++) { sum+=i; } return sum; } } package com.homework2; public class ClassB implements InterfaceA { @Override pub

java类为什么要实现Serializable接口

什么是Serializable接口? 一个对象序列化的接口.一个类只有实现了Serializable接口,它的对象才能被序列化. 什么是序列化? 将对象的状态信息转换为可以存储或传输的形式的过程. 在序列化期间,对象将其当前状态写入到临时存储区或持久性存储区,之后,便可以通过从存储区中读取或反序列化对象的状态信息,来重新创建该对象. 什么情况下需要序列化? 当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化. Serializable

接口和类 的关系是实现,接口和接口的关系与类一样可以继承

package interface04; //接口直接也可以继承 public interface InterfaceA { public abstract void method(); void demo(); } -------------------------------------- package interface04; public interface InterfaceB { // 接口的抽象方法 public abstract void demo(); // 接口的抽象方法可

一天一个类,一点也不累之TreeSet

一天一个类,一点也不累. 现在要说的是---TreeSet public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable 说句实话自己没怎么用过这个*_* -->A NavigableSet implementation based on a TreeMap. The elements are ordered using thei

一个类有多大

#include <iostream> using namespace std; class A{}; class B { int b; char c; }; class C { int c1; static int c2; }; int C::c2 = 1; class D:public C,public B{ int d; }; int main() { cout<<"sizeof(A)="<<sizeof(A)<<endl; cou

C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值

转自goldeneyezhang原文 C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值总结: 对应某个类的实例化的对象tc, 遍历获取所有属性(子成员)的方法(采用反射): Type t = tc.GetType();//获得该类的Type //再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了 foreach (PropertyInfo pi