标签:使用 style java集合框架 程序 代码 new shm 需要 mamicode
如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架
Collection下拥有List、Set两个子类
Collection 接口存储一组不唯一,无序的对象
List接口下有很多子类实现,这里面简单的说一下ArrayList和LinkedList这两个子类
ArrayList存储一组不唯一,但有序的对象
底层数据结构是数组结构
扩容增量:原容量的 0.5倍+1
如 ArrayList的容量为10(默认值就为10),一次扩容后是容量为16
ArrayList实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
ArrayList常用的方法:
增加元素
list.add(title4);//添加元素 list.add(1, title5);//在指定位置下添加元素
删除元素
list.remove(title1);//删除指定的某一个元素 list.clear();//清空元素
获取元素
for (int i = 0; i < list.size(); i++) { NewsTitle title=list.get(i);//获取每一个元素 System.out.println(title.getTitle()); }
修改元素
list.set(1, title6);//修改元素
搜索元素
System.out.println(list.contains(title1));//判断列表中是否存在指定元素 list.indexOf(title1);//返回元素在链表中第一次出现的位置 list.lastIndexOf(title6);//返回元素在链表中最后一次出现的位置
检查元素是否为空
if(map.isEmpty()){ System.out.println("已清空Map中的数据!"); }
获取元素的长度
System.out.println("Map中共有"+map.size()+"组数据");
ArrayList的迭代器
listIterator.hasPrevious()检查序列中是否还有上一个元素
listIterator.previous()获得序列中的上一个元素
listIterator.hasNext()检查序列中是否还有下一个元素
listIterator.next()获得序列中的下一个元素
LinkedList存储一组不唯一,但有序的对象
底层数据结构是数组结构
扩容增量:原容量的 0.5倍+1
如 LinkedList的容量为10(默认值就为10),一次扩容后是容量为16
LinkedList采用链表储存方式。插入删除元素时效率比较高
LinkedList常用方法
增加元素:
list.add(title3);//添加元素 list.addFirst(title4);//在开头插入一个元素 list.addLast(title5);//在最末尾添加一个元素
删除元素:
list.remove(title5);//删除元素 list.remove(2);//删除指定下标元素 list.removeFirst();//删除第一个元素 list.removeLast();//删除最后一个元素
检察元素:
list.get(i);//获得元素 list.getFirst();//获得头条元素 list.getLast();//获得末尾元素
Set下面也有很多子类实现了它,这里我就说一下HashSet
Set()中不存在get()方法
HashSet接口存储的是一组唯一,并且无序的对象
底层实现是一个HashMap(保存数据),实现Set接口
默认初始容量为16
加载因子为0.75:即当 元素个数 超过 容量长度的0.75倍 时,进行扩容
扩容增量:原容量的 1 倍
如 HashSet的容量为16,一次扩容后是容量为32
HastSet常用方法
这里就不贴代码了跟上面的一样.....
//增加
//删除
//对比查找
//清空集合
//获取长度
Map中介绍一个最常用的HashMap子类
Map接口存储一组键值对象,提供key到value的映射
默认初始容量为16
加载因子为0.75:即当 元素个数 超过 容量长度的0.75倍 时,进行扩容
扩容增量:原容量的 1 倍
如 HashSet的容量为16,一次扩容后是容量为32
HashMap常用方法
put 添加键值对
containsKey() 键中是否包含这个数据
get() 通过键拿到值
isEmpty() 判断是否为空
remove() 在键值对中删除
size() 键值对的数据长度
clear() 清空键值对
使用next()获得序列中的下一个元素。
使用hasNext()检查序列中是否还有下一个元素
目前就介绍这么多,还望大佬手下留情.....
标签:使用 style java集合框架 程序 代码 new shm 需要 mamicode
原文地址:https://www.cnblogs.com/tkzm/p/10981395.html