集合

初学集合有点懵希望学习玩能改变现状
集合主要是两组(单列集合,双列集合) 单列集合就是在集合中放的都是单个的对象,而双列集合就是在集合中都是成对的出现
Collection接口有两个重要的子接口List和Set,他们的实现子类都是单列集合
Map接口的接口实现子类。是双列集合存放的key,Value

Collection接口和常用方法:
1.Collection接口实现类的特点:Collection存放子类可以存放多个元素,每个元素都可以是Object
2.有些Collection可以存放重复的元素但是有些不可以
3.有些Collection是有序的(List),但是有些是无序的(Set)Set存放进去和取出来的顺序可不一样
4.Collection没有直接实现子类,是通过他的子接口Set和List来进行实现
集合常用方法:
add():添加单个元素
remove():删除指定元素:这个方法可以重载 第一种是删除指定输入的元素,第二种是以取索引的方式删除起始索引也是0
contains():查找元素是否存在:这个方法是查看Collection中是否有此元素
size():返回当前对元素进行改变后的元素个数
isEmpty():判断当前集合是否为空的
list.clear():清空所有元素
addAll(list):直接将一个old数组导入一个new数组
get():传一个想取参数的索引

List接口和常用方法:
List接口基本介绍:List接口是Collection接口的子接口List.java
1.List接口顺序一样即添加顺序和取出顺序一致且可以重复
2.list接口中所有元素都有对应的顺序索引即支持索引
3.List中元素都有对应的整数型的序号记载在其容器中的位置,可以根据序号取容器中的元素
4.JDK AIP中List常用的实现类:ArrayLIst LinkedList Vector
List常用方法:
1.add():添加单个元素 arrayList.add(1,"小明");当在参数中传一个数字在加添加元素的就会在你传送数字的索引添加不然默认就是最后
2.add All():当你想多个数据插入List集合中当你在传送的集合名字前添加索引就会在添加缩印的地方全部添加进去
3.get()方法:获取集合中索引为多少的数据
4.indexOf():输入具体的值查看这个值在集合中第一次出现的索引位置
5.lastIndexOf():输入具体的值查看这个值在集合中最后一次出现的索引位置
6.remove():传入制定的参数的索引并且从这个集合中删除他
7.set(3, "小刚"):替换可以传两个参数第一个参数是吧起始索引为多少的第二个元素是替换成什么
注意:替换的起始索引必须是这个集合中有的不能替换这个集合中没有的不然会报错
8.subList(1, 4):返回具体索引多少到多少注意:返回的是第二个参数-1的索引参数,这里返回的也就是1,2,3,索引的值,包头不保尾的规则
ArrayList注意事项:1.可以加入空值和或者多个空值
2.ArrayList底层是由数组来实现存储的。
3.ArrayList是线程不安全的但是执行效率高,在多线程情况下不建议使用
9.Collections.sort(list):将集合传进去进行升序从小到大排序
10.Collections.binarySearch(list, 123):将集合传进去之后在传一个Key值查看这个Key值在集合中得位置如果找不到这个Key将会返回一个负数
11. Collections.reverse(list):将集合穿进去之后把集合中中输出的顺顺序翻转
12.shuffle(list):打乱集合中的数据
13.list.toArray(new Integer[0]):这个是把集合转换成数组括号里是新建了一个数组中括号里面是数组的长度当你传得长度没有集合大的时候就会默认用集合的长度
14.Arrays.asList(name):这个是吧数组转换成集合,注意但是这个集合是不能够添加或者删除元素的这是个受限制的集合2.也要注意基本数据类型转换时候要变成包装类才能转换
-----------------------------------
set集合:特点:无序无下标元素也不可能重复
方法;全部都是从ArrayList方法继承过来的
子类:Hashset基于HashCode实现元素不重复
注意;当存的元素的哈希码值相同的时候,会调用equals进行确认,如果结果问true将拒绝后者添加
没有下标当你想删除元素的时候只能根据元素内容
TreeSet:注意1.基于排序实现元素不重复
2.实现sortedSet接口,对集合形成自动排序
3.元素对象的类型必须实现Comparable的接口,制定排序规则
Map集合:特点:1.用于存储任意键(Key-Value)
2.键Key:无序无下标不允许重复(唯一的)
3.值:无序无下标允许重复
方法:put(K,Y):将对象存储到集合中,关联键值,key重复则覆盖原值 添加元素
get(Obj,Y):根据键获取对应的值
set():返回所有的Key
Value:返回所有的Value
实现类:HashMap:线程不安全,运行效率高允许key用null或者value
Hashtable集合:线程安全,运行效率慢,不允许null值为k或者v
Properties:Hashtable的子类要求k和v都是String通常配置于文件的读取
TreeMap:是Map的子接口,可以对Key进行排序
**---------------------------------------------------------------------------------**
集合总结:
集合的概念:对象的容器和数组类似,定义了对多个对象操作的常用方法。
List集合:有序,有下标,元素可以重复(ArrayList,LinkedList,Vector);
Set集合:无序,无下标,元素不可以重复(Hashset,TerrSet);
Map集合:存储一对数据,无序,无下标,键不可以重复值可以重复(HashMap,HashTable,TreeMap)
Collections:集合工具类,定义除了存储之外的集合常用方法
posted @ 2021-12-07 19:49  码奴2002  阅读(72)  评论(0)    收藏  举报