List继承了Collection
1、List 系列集合的特点是什么?
● ArrayList、LinkedList:有序,可重复,有索引。
2、List 提供了哪些独有的方法?
方法名称
说明
void add(int index,E element)
在此集合中的指定位置插入指定的元素
E remove(int index)
删除指定索引处的元素,返回被删除的元素
E set(int index,E element)
修改指定索引处的元素,返回被修改的元素
E get(int index)
返回指定索引处的元素
单列集合
Collection 集合有哪两大常用的集合体系,各自有啥特点?
List 系列集合:添加的元素是有序、可重复、有索引。
Set 系列集合:添加的元素是无序、不重复、无索引。
Collection遍历方法
迭代器
1、如何获取集合的迭代器?迭代器遍历集合的代码具体怎么写?● Iterator iterator ():得到迭代器对象,默认指向当前集合的索引 0
2、通过迭代器获取集合的元素,如果取元素越界会出现什么异常?● 会出现 NoSuchElementException 异常。
for-each(增强for)
就for循环就行
lambda表达式
类似以下三种lambda表达式
1234567891011121314151617Collection<String> names = new ArrayList<>();names.add ("张无忌");names.add ("玄冥二老");names.add ("宋青书");names.add ("殷素素");nam ...
为什么要有包装类,包装类有哪些?
为了万物皆对象,并且泛型和集合都不支持基本类型,支持包装类
8 种,int -> Integer,char -> Character,其他的都是首字母大写
包装类提供了哪些常用的功能?
可以把基本类型的数据转换成字符串类型。
public static String toString(double d)
public String toString()
可以把字符串类型的数值转换成真实的数据类型。
public static int parseInt(String s)
public static Integer valueOf(String s)
装箱与拆箱装箱:将一个基本数据类型变为包装类称为装箱操作
拆箱:将一个包装类变回基本数据类型,称为拆箱操作,转换的方法由Number类提供
下面看具体操作,这里以整形为例:
1234567public class WrapperDemo{ public static void main(String[] args){ int x1 = 1; //基本数据类型 ...
成员内部类成员内部类直接定义在外部类里,与外部类的属性和方法处于同一层级。它能够访问外部类的所有成员,包括私有成员。
1234567891011121314151617181920212223public class OuterClass { private int outerField = 10; public class InnerClass { public void display() { System.out.println("外部类的字段: " + outerField); } } public void createInner() { InnerClass inner = new InnerClass(); inner.display(); } public static void main(String[] args) { OuterClass ...
对比维度
抽象类(is what)
接口(can do)
定义方式
借助 abstract class 来定义
通过 interface 进行定义
实现手段
利用 extends 关键字实现继承
使用 implements 关键字实现接口
成员变量
可以包含普通变量和常量
只能是 public static final 类型的常量
方法类型
能够有抽象方法,也能有具体实现的方法
所有方法默认是 public abstract 的(Java 8 及之后版本允许有默认方法和静态方法)
多继承支持
仅支持单继承(一个类只能继承一个抽象类)
支持多实现(一个类可实现多个接口)
设计侧重点
强调 “是什么”,用于对一组相关类的共同特征进行抽象
着重 “能做什么”,定义了一种行为规范或契约
相同点:1、多是抽象形式,都可以有抽象方法,都不能创建对象。2、都是派生子类形式:抽象类是被子类继承使用,接口是被实现类实现。3、一个类继承抽象类,或者实现接口,都必须重写完他们的抽像方法,否则自己要成为抽象类或者报错!4、都能支持的多态,都能够实现解耦合。
不同点:1、抽象 ...