基本接口:Collection
接口: List
实现类:ArrayList LinkedList
接口:Set(唯一,无序)
实现类:HashSet(哈希) TreeSet
Map接口:Map
实现类:HashMap
----------------------------------------------------------------------
ArrayList类
特点:长度可变,连续空间,任意类型,类型相同
适用情况:适合多次遍历集合
方法:
boolean add(Object o) 在集合末尾添加元素
void add(int index,Object o) 在指定位置添加元素
int size() 返回集合中元素个数
Object get(int index) 根据位置返回集合元素
---------------------------------------------------------------------------
LinkedList类
特点:链表形式
使用情况:插入 删除 效率高
方法:
void addFirst(); 在集合首部添加一个元素
void addLast(); 在集合末尾添加一个元素
Object getFirst(); 获取第一个元素
Object getLast(); 获取最后一个元素
Object removeFirst(); 移除并返回第一个元素
Object removeLast(); 移除并返回最后一个元素
--------------------------------------------------------------------------------
HashSet类
特点:唯一,无序,可以存放null
使用情况:不知道数据索引的情况的使用
方法:
boolean add(Object o) 如果此Set中没有指定元素,则在集合添加元素
-------------------------------------------------------------------------------
Iterator接口(迭代器)
特点:实现各种集合遍历操作
获取方法:使用集合类对象调用iterator()方法 返回Iterator对象
Iterator it=list.iterator();
方法:
boolean hasNext() 判断是否存在下一个可访问的元素,如果有,则true
Object next() 返回要访问的下一个元素
-------------------------------------------------------------------------------
HashMap类
特点:存储一组成对的键(key)值(value)对象,key不允许重复
适用情况:有对应关系的时候可以用
方法:
Object put(Object key,Object value) 将key与value放入集合
Object get(Object key) 获取与key相关的value
Set keySet() 获取所有key的集合
Collection values() 获取所有value的集合
boolean containsKey(Object key) 判断集合中是否存在key
boolean containsValue(Object value) 判断集合中是否存在value
--------------------------------------------------------------------------------
Collections操作类
特点:可以对集合进行排序,查找和替换等。
Collections.sort(集合); 升序排序
Collections.binarySearch(集合,集合内某一个元素); 元素查找
Collections.fill(集合,用来替换的新元素); 替换元素
-------------------------------------------------------------------------
泛型
语法:集合类型<实际类型> 集合对象=new 集合类型<实际类型>();
注意点:
1.使用list.get()方法时返回的是Object类型,需要强制类型转换为对应的数据类型
2.Set接口不存在get()方法
阿花宝宝 Java基础笔记 之 集合框架
时间: 2024-10-01 00:23:15
阿花宝宝 Java基础笔记 之 集合框架的相关文章
阿花宝宝 Java基础笔记 之 类和对象
一,对象对象:客观存在的事物就是对象对象包含:属性(特征) 和 方法(操作)二,类类:具有相同属性和方法的一组对象的集合.类和对象的关系就是抽象和具体的关系.类是对象的集合,对象是类的实例. 定义一个类的步骤1.定义类名 2.编写类的属性3.编写类的方法public class <类名>{ //定义属性部分 定义变量来描述类所具有的属性,这些变量称为类的成员变量. //定义方法部分 访问修饰符 返回值类型 方法名(){ 方法体 }}创建和使用对象类名 对象名=new 类名();
阿花宝宝 Java基础笔记 之 多态
多态 父类类型 父类引用=new 子类类型():多态三要素 1 继承关系 2 要有方法重写 子类没有重写父类方法时,子类对象调用的是父类的方法 父类没有方法时,无法使用父类对象去调用 编译不通过 编译时,看写的对象是什么类型,就访问什么类型 运行时,会根据传进来的真实类型来调用相应方法 jvm动态绑定机制,根据运行时的真实类型去调用相应方法 3 父类引用指向子类对象 抽象方法 1.抽象方法没有具体实现 访问修饰符abstract 返回类型 方法名(): 2.
阿花宝宝 Java基础笔记 之 封装
为什么要用封装 安全 方便 降低耦合封装的步骤:1.将属性变为private修饰2.写封装的方法 public void setXxx(参数){ //根据处理逻辑给属性赋值 } public 属性类型 getXxx(){ //return 属性值 }访问修饰符 一个.java文件可以定义多个class 但是只能有一个public class 且要求与文件名一致 默认修饰符 protect private public static 静态 static 修饰的成员随类加载,在创建对象之前,因
阿花宝宝 Java基础笔记 之 带参方法
一,带参方法1.如何定义带参方法<访问修饰符> 返回类型 <方法名>(<参数列表>){ //方法的主体}访问修饰符:public protected private 返回值类型: 无返回值:void 方法体内没有return 有返回值:数据类型(int,double,String 等) 方法体内必须有return,并且 return后的值的数据类型要跟定义方法时的一致. 参数列表:列表中各参数间以逗号分隔,每个参数由一个数据类型和一个标识符名组成2.带参方
阿花宝宝 Java基础笔记 之 引用类型作为参数
一,引用类型作为参数1.数组类型作为方法返回值 方法体内return的返回类型与方法定义的返回值类型必须一致.2.数组类型作为参数 调用时方法内的实参为数组为定义方法时的形参类型2.对象类型的参数 对象属于引用数据类型,引用数据类型所传递的值为该对象的地址. 当把一个对象作为参数传递给方法时,其实是把对象的地址传递给了该方法的参数. 对象作为参数传递的时候要注意两点: 1.在接收方,参数列表(形参),要写明对象类型(即 类),例如: public float getAvg(St
阿花宝宝 Java基础笔记 之 流程控制(二)
1. 各循环可互相嵌套 一般不超过三层 外层循环变量变化一次,内层循环变量要变化一遍 注意点:循环次数.(内层循环次数*外层循环次数)2.break语句的使用 break语句用于终止某个循环,使程序跳到循环块外的下一条语句. 在循环中位于break后的语句将不再执行,循环也停止执行. break语句不仅可以用在for循环中,也可以用在while和do-while循环中. break语句通常与if条件语句一起使用. 3. continue语句的使用 continue可以用
阿花宝宝 Java基础笔记 之 多态区分
多态 Pet p = new Dog(); 前边是父类类型 后面是子类类型: 都是p.mm():1.如果父类有 子类有 那么调用 子类的2.如果父类有 子类没有 那么调用 父类的3.如果父类没有 子类有 那么 报错!!!!一 . 多态 父类类型 父类引用 = new 子类类型(): 多态 三要素: 1 . 要有继承关系 extends 2 . 要有方法重写 第一种情况子类没有重写父类同名方法时,子类对象调用的是父类的方法 第二种情况 父类没有此
阿花宝宝 Java基础笔记 之 继承相关问答题
继承问答题:1.创建对象一定会调用类里边的构造方法你知不知? yes2.类里边能有多个构造方法你知不知道? yes3.如果类里边有多个构造方法你会调用那个你知不知道?4.什么是子类你知不知道?5.执行子类的构造方法之前肯定会调用父类无参的构造方法你知不知道?6.怎么通过子类调用父类有参的构造方法?Student s1 = new Student(2,"张三");Student s2 = new Student(2,"张三"); if(s1==s2
阿花宝宝 Java基础笔记 之 流程控制(一)
1.语法:if(条件1){ //代码1 }else if(条件2){ //代码块2 }else{ //代码块3 } else if:可以没有,可以多个 else:可以没有,最多一个,并且只能放在最后 先判断条件1,当结果为true时,执行大括号内的代码块1,跳出结构! 结果为false时,再判断条件2,当结果为true时,执行大括号内的代码块2,当跳出结构!