• List接口:(介绍其下的两个实现类:ArrayList和LinkedList)


    以下介绍接口:

    List接口:(介绍其下的两个实现类:ArrayListLinkedList

    ArrayList和数组非常类似,其底层也用数组组织数据,ArrayList是动态可变数组。

    ①  底层:指存储格式。说明ArrayList对象都是存在于数组中。

    注:数组和集合都是从下标0开始。

    ArrayList有一个add(Object o)方法用于插入数组。

    ArrayList的使用:(完成这个程序)

    import  java.util.*

    ArrayList在一个数组中添加数据,并遍历。

    ArrayList中数组的顺序与添加顺序一致。

    只有List可用getsize。而Set则不可用(因其无序)。

    Collection接口都是通过Iterator()(即迭代器)来对SetList遍历。

    通过语句:Iterator it=c.iterator(); 得到一个迭代器,将集合中所有元素顺序排列。然后可以通过interator方法进行遍历,迭代器有一个游标(指针)指向首位置。

    InteratorhasNext(),用于判断元素右边是否还有数据,返回True说明有。然后就可以调用next动作。Next()会将游标移到下一个元素,并把它所跨过的元素返回。(这样就可以对元素进行遍历)

    练习:写一个程序,输入对象信息,比较基本信息。

    集合中每一个元素都有对象,如有字符串要经过强制类型转换。

    Collections是工具类,所有方法均为有用方法,且方法为static

    Sort方法用于给List排序。

    Collections.Sort()分为两部分,一部分为排序规则;一部分为排序算法。

    规则用来判断对象;算法是考虑如何排序。

    对于自定义对象,Sort不知道规则,所以无法比较。这种情况下一定要定义排序规则。方式有两种:

    ①  java.lang下面有一个接口:Comparable(可比较的)

    可以让自定义对象实现一个接口,这个接口只有一个方法comparableTo(Object o)

    其规则是当前对象与o对象进行比较,其返回一个int值,系统根据此值来进行排序。

    如 当前对象>o对象,则返回值>0;(可将返回值定义为1)

    如 当前对象=o对象,则返回值=0;

    如 当前对象<o对象,则返回值〈0。(可将返回值定义为-1)

    看TestArraylist的java代码。

    我们通过返回值1和-1位置的调换来实现升序和降序排列的转换。

     

    ②  java.util下有一个Comparator(比较器)

    它拥有compare(),用来比较两个方法。

    要生成比较器,则用Sort中Sort(List,List(Compate))

    第二种方法更灵活,且在运行的时候不用编译。

     

    注意:要想实现comparTo()就必须在主方法中写上implement comparable.

     

    练习:生成一个EMPLOYEE类,然后将一系列对象放入到ArrayList。用Iterator遍历,排序之后,再进行遍历。

  • 相关阅读:
    在GDI+中如何实现以左下角为原点的笛卡尔坐标系
    html中内联元素和块元素的区别、用法以及联系
    HttpClient超时设置
    springMVC实现文件上传
    IDEA生成serialVersionUID的警告
    java中两个字符串如何比较大小
    gerrit简版教程
    mysql中OPTIMIZE TABLE的作用及使用
    mysql慢查询日志分析
    checkStype和findBugs校验
  • 原文地址:https://www.cnblogs.com/borter/p/10744032.html
Copyright © 2020-2023  润新知