黑马程序员--java学习总结(2)

  1. ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

集合框架


1.集合框架的优点
  1) 它减少了程序设计的辛劳。
  集合框架通过提供有用的数据结构和算法使你能集中注意力于你的程序的重要部分上,而不是为了让程序能正常运转而将注意力于低层设计上。通过这些在无关API之间的 简易的互用性,使你免除了为改编对象或转换代码以便联合这些API而去写大量的代码。
  2)它提高了程序速度和质量。
  集合框架通过提供对有用的数据结构和算法的高性能和高质量的实现使你的程序速度和质量得到提高。因为每个接口的实现是可互换的,所以你的程序可以很容易的通过改 变一个实现而进行调整。另外,你将可以从写你自己的数据结构的苦差事中解脱出来,从而有更多时间关注于程序其它部分的质量和性能。
  3) 减少去学习和使用新的API 的辛劳。
  许多API天生的有对集合的存储和获取。在过去,这样的API都有一些子API帮助操纵它的集合内容,因此在那些特殊的子API之间就会缺乏一致性,你也不得不 从零开始习,并且在使用时也很容易犯错。而标准集合框架接口的出现使这个问题迎刃而解。
  4)减少了设计新API的努力。
  设计者和实现者不用再在每次创建一种依赖于集合内容的API时重新设计,他们只要使用标准集合框架的接口即可。

2.集合与数组的区别
1)数组长度是固定的,而集合是可变长度的。
2)数组可以存储基本数据类型,也可以存储引用数据类型;而集合只能存储引用数据类型。
3)数组存储的元素必须是同一个数据类型的,而集合存储的对象可以是不同数据类型的。

3.JAVA中集合类的关系图




3.--<java.util>--Collection接口

Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。 

Collection下有两个常用的子接口List和Set.

|--List:有序,元素都有索引.元素可以重复.
|--Set:无序,不可以存储重复的元素,必须保证元素的唯一性.

5.Collection接口中有以下几个常用的方法
1)添加
add(object):添加一个元素.
addAll(obj):添加一个集合中的所有元素.
2)删除
clear():将集合 中的元素全部删除,清空集合.
remove(obj):删除集合中指定的对象,如果删除成功则集合的长度 会改变.
removeAll(collection):删除部分元素,部分元素和传入的Collection一致.
3)判断
boolean contains(obj):集合中是否包涵指定的元素.
boolean containsAll(Collection):集合中是否包涵指定的多个元素.
boolean isEmpty():集合中是否有元素.
4)获取
int size():集合中有几个元素
5)取交集
boolean retainAll(Collection):对当前集合中保留和指定集合中的相同的元素.如果两个元素相同,返回false;如果retainAll修改了当前集合,返回true.
6)获取集合中所有元素
Iterator iterator():迭代器
7)将集合变成数组
toArray();


4.--<java.util>--Iterator接口

迭代器:是一个接口。

作用:用于获取集合里的元素。

拥有的方法:boolean hasNext() 如果仍有怨怒可以迭代。则返回true。
E next()返回迭代的下一个元素。
void remove()从迭代器指向的collection中移除迭代器返回的最后一个元素。

如何获取一个迭代器:Iterator it=coll.iterator();//获取容器中的迭代器对象,至于这个对象是什么不重要。这个对象肯定符合一个Iterator接口。

怎么使用迭代器获取集合中的元素:
for(Iterator it=coll.iterator();it.hasNext();)
{
    System.out.pritnln(it.next());
}














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值