NO.25 集合操作

昨天简单介绍了集合Collection和其的一些基本方法,还有一些集合其他的通用方法。

1)addAll、containsAll和removeAll方法:

2)Iterator 迭代器:

Collection提供了用于遍历集合元素的方法: Iteartor iterator()。该方法会返回一个可以用于遍历当前集合的迭代器。

java.util.Iterator----迭代器,本身是一个接口,规定了所有迭代器遍历集合的统一方法。不同的集合实现类都提供了一个迭代器的实现类用于遍历自身。我们无需关注具体迭代器的名字,只要将它看做是Iterator使用即可。 

使用迭代器遍历集合遵循:问,取,删的步骤,其中删除元素操作不是必须的。

hasNext方法、next方法和remove方法:

3)增强for循环:java1.5之后推出了一个新的特性,增强for循环,也称为新循环。该循环不通用于传统循环的工作,其只用于便利集合或数组。

底层语法均未变,只是编译器会对我们的代码进行修改。

数组的增强for循环
集合的增强for循环

泛型机制:

泛型是Java SE 1.5引入的特性,泛型的本质是参数化类型。在类、接口和方法的定义过程中,所操作的数据类型被传入的参数指定。

Java泛型机制广泛的应用在集合框架中。所有的集合类型都带有泛型参数,这样在创建集合时可以指定放入集合中的对象类型。Java编译器可以据此进行类型检查,这样可以减少代码在运行时出现错误的可能性。


线性表集合操作:

List接口是Collection的子接口,用于定义线性表数据结构;可以将List理解为存放对象的数组,只不过其元素个数可以动态的增加或减少,并且List是可重复集。

List接口的两个常见实现类为ArrayList和LinkedList,分别用动态数组和链表的方式实现了List接口。

可以认为ArrayList和LinkedList的方法在逻辑上完全一样,只是在性能上有一定的差别,ArrayList更适合于随机访问而LinkedList更适合于插入和删除;在性能要求不是特别苛刻的情形下可以忽略这个差别。

1)get与set方法:

2)插入和删除:

3)subList方法:用于获取子List。

4)List转换为数组:

List->Array

数组转换为List:只能转换为List集合。

Array->List

5)Collections.sort方法实现排序:其作用是对集合元素进行自然排序(按照元素的由小至大的顺序)。

若想对某个集合的元素进行自然排序,该集合的元素有一个要求,就是这些元素必须是Comparable的子类。

Integer中实现了Comparable接口

定义一个类为测试排序:

实现了Comparable接口----离原点距离大小比较

排序测试:

另一种排序重载方法:

自定义比较字符串长度
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:V...
    joshul阅读 408评论 0 2
  • 1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Ve...
    yjaal阅读 1,241评论 1 10
  • 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:V...
    Oneisall_81a5阅读 952评论 0 11
  • 一晃毕业一年多了,同寝室晚毕业一年的小伙伴也在今年走上了下一段的人生道路,我们都在各自的道路上进发着,或开心或欢笑...
    书爸爸阅读 212评论 0 0
  • iOS性能调优总结 1. 性能调优工具: 1.1 静态分析工具Analyze 相信IOS开发者在App进行Buil...
    晓飞90阅读 1,453评论 0 7

友情链接更多精彩内容