以下介绍接口:

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遍历,排序之后,再进行遍历。

List接口:(介绍其下的两个实现类:ArrayList和LinkedList)的更多相关文章

  1. java中List接口的实现类 ArrayList,LinkedList,Vector 的区别 list实现类源码分析

    java面试中经常被问到list常用的类以及内部实现机制,平时开发也经常用到list集合类,因此做一个源码级别的分析和比较之间的差异. 首先看一下List接口的的继承关系: list接口继承Colle ...

  2. java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

    Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. Array ...

  3. Hive 接口介绍(Web UI/JDBC)

    Hive 接口介绍(Web UI/JDBC) 实验简介 本次实验学习 Hive 的两种接口:Web UI 以及 JDBC. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanl ...

  4. SSH动态查询封装接口介绍

    SSH动态查询封装接口介绍 1.查询记录总条数 public int count(Class c,Object[][] eq,Object[][] like,String[] group,String ...

  5. 【百度地图API】如何在地图上添加标注?——另有:坐标拾取工具+打车费用接口介绍

    原文:[百度地图API]如何在地图上添加标注?--另有:坐标拾取工具+打车费用接口介绍 摘要: 在这篇文章中,你将学会,如何利用百度地图API进行标注.如何使用API新增的打车费用接口. ------ ...

  6. Redis --> Redis的接口介绍及使用

    Redis的接口介绍及使用 Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型.Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然 ...

  7. Spring之InstantiationAwareBeanPostProcessor接口介绍

      InstantiationAwareBeanPostProcessor接口是BeanPostProcessor的子接口,通过接口字面意思翻译该接口的作用是感知Bean实例话的处理器.实际上该接口的 ...

  8. I2S接口介绍

    I2S接口介绍一.I2S协议介绍 I2S协议作为音频数据传输协议,由Philips制定.该协议由三条数据线组成:1.SCLK:串行时钟,频率= 2 * 采样频率 * 采样位数.2.WS:字段(声道)选 ...

  9. MII接口介绍(转)

    1.简介 MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准.它包括一个数据接口和一个MAC和PHY之间的 ...

随机推荐

  1. FPGA - 认识FPGA

    一.何为FPGA? FPGA,英文全拼:Field-Programmable Gate Array 现场可编程门阵列,它是在PAL.GAL.CPLD等可编程器件的基础上进一步发展的产物.它是作为专用集 ...

  2. C#文件及数据流技术

    空间名称:Sysytem.IO 一.文件.文件夹操作1.创建.删除.移动.复制文件 2.创建.删除.移动.复制文件夹 二.流操作 1.FileSream - 提供读取和写入文件的方式 文本文件的写入与 ...

  3. .net异常机制

    异常机制简介 当CPU运行到一些非法的指令,例如除零错误,访问内存页失败等指令,CPU会生成一个硬件异常,不同的异常有固定的异常代码作为标识符,异常产生以后CPU暂时不能继续执行后续的指令—因为后续的 ...

  4. yii2 数据提供者 dataProvider

    数据提供者 dataProvider $dataProvider = new ActiveDataProvider([ 'query' => $query, // 如何来取得数据 'pagina ...

  5. Mac redis入门

    Mac redis入门 一.Redis简介 Redis是开源的key-value数据库,运行在内存中,但可以把数据持久化存到磁盘.Redis具有极高的性能,也为各种语言提供了丰富的接口,因此有着广泛的 ...

  6. python之装饰器篇

    一.基本装饰器 基本装饰器的作用: 在不改变原函数的基础上, 通过装饰器, 给原函数新增某些功能 实现方法: 在原函数上加 @装饰器名字 其中@叫做语法糖 定义装饰器 第一层函数传入参数(用于传入原函 ...

  7. C#_02.10_基础一_.NET框架

    C#_02.10_基础一_.NET框架 一.概念: .NET框架是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境. 解读: 1..net框架是一个编程环境, 2.可以进行多语言的开发和 ...

  8. mysql select into 不支持

    不支持的 select * into order_new from orders 改为 Create table order_new(select * from orders)  

  9. Glide4 用法总结 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  10. AndroidStudio中Handler类的内存溢出风险

    package com.test.king.xmlparser; import android.annotation.SuppressLint; import android.app.Activity ...