Java基础――集合(一)――集合体系、Collection集合
1、集合概述Java是1种面向对象语言,如果我们要针对多个对象进行操作,就必须对多个对象进行存储。而数组长度固定,不能满足变化的要求。所以,java提供了集合。 特点 1. 长度可以产生改变 2. 只能存储对象 3. 可以存储多种类型对象 与数组区分
2、集合体系集合作为1个容器,可以存储多个元素,但是由于数据结构的不同,java提供了多种集合类。将集合类中共性的功能,不断向上抽取,终究构成了集合体系结构。 数据结构:数据存储的方式 Java中集合类的关系图
集合体系导图(用鼠标拖动图片可看大图或右击图片选择在新标签页中打开图片(I)) 3、CollectionCollection是最基本的集合接口,1个Collection代表1组Object,即Collection的元素(Elements)。1些Collection允许相同的元素而另外一些不行。1些能排序而另外一些不行,因而衍生出两个子类接口List和Set。 Collection基本功能A:添加功能 booleanadd(Object obj):向集合中添加1个元素 booleanaddAll(Collection c):向集合中添加1个集合的元素。 B:删除功能 voidclear():删除集合中的所有元素。 booleanremove(Object obj):从集合中删除指定的元素 booleanremoveAll(Collection c):从集合中删除1个指定的集合元素。 C:判断功能 booleanisEmpty():判断集合是不是为空。 booleancontains(Object obj):判断集合中是不是存在指定的元素。 booleancontainsAll(Collection c):判断集合中是不是存在指定的1个集合中的元素。 D:遍历功能 Iterator iterator():就是用来获得集合中每个元素。 E:长度功能 intsize():获得集合中的元素个数 F:交集功能 booleanretainAll(Collection c):判断两个集合中是不是有相同的元素。??? G:把集合转换成数组 Object[]toArray():把集合变成数组。 List接口List接口下的集合元素存储有序,可以重复。 List的特有功能A:添加功能 voidadd(int index,Object obj):在指定位置添加元素 B:删除功能 Objectremove(int index):根据指定索引删除元素,并把删除的元素返回。 C:修改功能 Objectset(int index,Object obj):把指定索引位置的元素修改成指定的值,返回修改前的值。 D:获得功能 intindexOf(Object o):返回指定元素在集合中第1次出现的索引 Objectget(int index):获得指定位置的元素 ListIteratorlistIterator():列表迭代器 E:截取功能 ListsubList(int fromIndex,int toIndex):截取集合。 Set 接口Set接口下的元素无序,不可以重复。其下面分为HashSet和TreeSet。 HashSet底层数据结构是哈希表,线程不安全,效力高。 保证唯1性依赖两个方法:hashCode()和equals()。 顺序: 判断hashCode()值是不是相同。 相同:继续走equals(),看返回值 如果true:就不添加到集合。 如果false:就添加到集合。 不同:就添加到集合。 TreeSet底层数据结构是2叉树,线程不安全,效力高。 保证元素唯1性的方法时根据返回值是不是是0。 保证排序的两种方式: 自然排序(元素具有比较性):实现Comparable接口 比较器排序(集合具有比较性):实现Comparator接口
未完待续,下篇为迭代器+Map集合 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- php操作 cookie
- php – TRUNCATE表Zend框架
- Symfony 2 SQLSTATE [HY000] [2002] Connection refused Er
- php – Array-to-CSV-export功能在WordPress-plugin中面临一
- PHP防止刷新重复提交页面的示例代码
- php – 额外值1附加卷曲响应
- PHP preg_replace – 在结果中包含模式/完整主题
- [Ruby On Rails] Action Controller - 控制HTTP 流程
- PHP重置数组为连续数字索引的几种方式总结
- php – Codeigniter Active Record HAVING / WHERE db.fiel