java----数据结构与算法----JavaAPI:java.util.Set接口
-
- java.util.Set
-
/** * @author chen * @date 20170308 * @description 本程序讲述java.util.Set接口的定义 * java.util.Set * 概述: * 1)Set集合中不允许有重复的元素 * 最多只能有一个值为null的元素 * 要特别注意Set集合中的元素,当改变某个元素的值时,一定不要使得改变后的结果和其他元素相同 * Set集合中不能将自己作为自己的元素(it is not permissible for a set to contain itself as an element.) * List集合中就允许自己是自己的元素(it is permissible for a List to contain itself as an element.) * 2)Set接口是Collection接口的子接口,所以Set继承了Collection接口中所定义的所有函数 * Set接口没有新定义其它函数 * 成员函数定义: * 【1】概述:Set接口是Collection接口的子接口,所以Set继承了Collection接口中所定义的所有函数 * 下面所列出的函数中,绝大多数都是从Collection接口继承而来 * 除了标注有“Set接口相对于Collection接口新增函数”的成员函数是Set接口特有的函数之外 * 【2】int size();//返回集合中元素个数,如果元素个数>Integer.MAX_VALUE,那么该函数的返回值==Integer.MAX_VALUE * 【3】boolean isEmpty();//集合是否为空 * 【4】boolean contains(Object o);//集合中是否包含元素o:Object * 【5】Iterator<E> iterator();//返回可以遍历该集合中所有元素的一个迭代器(即Iterator对象) * 【6】Object[] toArray();//将集合转变成一个数组 * 【7】<T> T[] toArray(T[] a);//这个函数和【6】中所给的函数功能类似,但是这个函数还有额外的功能 * 功能: 这个函数除了将集合转换成数组之外 * 还实现集合元素数据类型 到 数组元素数据类型的转换(将集合元素由原来的数据类型转变成本函数的参数a:T[]所代表的数据类型——T) * 另外,还指定了函数返回值的长度(返回值的长度和本函数的参数数组a:T[]的长度一致) * @return 返回值(数组)的内容——集合元素 * 返回值中数组元素的数据类型——和本函数的参数数据类型一致 * 返回值(数组)的长度——和本函数的参数数组的长度一致,当集合元素个数小于参数数组a:T[]长度时,使用null填充空位从而使返回值长度达到要求 * 【8】boolean add(E e);//向集合中添加新元素 * //如果集合中没有该元素,那么添加该元素,并且返回true * //如果集合中已经有了该元素,那么这个函数将不会改变现有Set集合,并且返回值为false * 【9】boolean remove(Object o);//从集合中删除一个元素 * 【10】boolean containsAll(Collection<?> c);//判断该集合中是否包含参数集合中的所有元素 * 【11】boolean addAll(Collection<? extends E> c);//将参数集合中的所有元素添加到该集合中(相当于取并集) * 【12】 boolean removeAll(Collection<?> c);//这个函数执行后,该集合中将不再含有参数集合中的任何一个元素(相当于集合相减) * 【13】 boolean retainAll(Collection<?> c);//执行这个函数之后,该集合中将不可能含有参数集合中不存在的元素(相当于取交集) * 【14】void clear();//执行该函数后,集合将变成空的 * 【15】 boolean equals(Object o);//参数o:Object也是一个集合,这个函数用于判断两个Set集合的内容是否相同 * //当且仅当两个Set集合的size相同,且一个集合中的所有元素恰好都在另一个集合中可以找到(反过来也成立)时,返回值是true * //也即只要两个Set集合互相包含(不考虑元素顺序),该函数的返回值就是true * 【16】int hashCode();//返回该Set集合所对应的hashCode码 * 备注:如果两个集合的内容完全相同,那么这两个集合对应的hashCode码也一定相同 * 即,若a.equals(b)==true,那么一定有a.hashCode()==b.hashCode() * “Set接口相对于Collection接口新增的函数” * 没有这样的函数 * Set接口没有自定义的函数,其成员函数都是从java.util.Collection接口继承而来 * */ package javaAPI_dataStructure; import java.util.HashSet; import java.util.Set; public class JavaAPI_Set { public static void main(String[] args){ Set set=new HashSet(); } }
学习的过程中总会得到一些心得体会,认真地将它们记录下来并分享给每一个愿意花费时间去阅读它们的人,然后意外地收获某个读者的评论,从而激发出新的感想,是一件十分令人欢快的事。如果你也在研习这方面的知识,欢迎加入到我们的队伍中来,和我们一起进步吧(^_^)
posted on 2017-03-08 14:57 LXRM-JavaWeb、ML 阅读(196) 评论(0) 编辑 收藏 举报