zoukankan      html  css  js  c++  java
  • 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遍历,排序之后,再进行遍历。

  • 相关阅读:
    Java——多线程之方法详解
    Java——深入理解Java异常体系
    Java——Java代码的执行顺序
    Java——抽象类与接口的前世今生
    存储系列之 LUN 和 LVM
    存储系列之 RAID技术原理简介
    存储系列之 硬盘接口与SCSI总线协议
    存储系列之 介质(软盘、硬盘、固态)和磁盘寻址
    Redis设计原理简介
    MySQL InnoDB索引介绍以及在线添加索引实例分析
  • 原文地址:https://www.cnblogs.com/borter/p/10744032.html
Copyright © 2011-2022 走看看