美文网首页java学习
NO.25 集合操作

NO.25 集合操作

作者: smallnumber | 来源:发表于2017-07-26 22:45 被阅读0次

    昨天简单介绍了集合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接口----离原点距离大小比较

    排序测试:

    另一种排序重载方法:

    自定义比较字符串长度

    相关文章

      网友评论

        本文标题:NO.25 集合操作

        本文链接:https://www.haomeiwen.com/subject/esfakxtx.html