List:
概念:List是一个继承于Collection的接口,即List是集合中的一种。List是有序的队列,List中的每一个元素都有一个索引;第一个元素的索引值是0,往后的元素的索引值依次+1。和Set不同,List中允许有重复的元素。
ArrayList:
ArrayList是一个动态的、有序的且元素可以重复的数组,以下是ArrayList的数据储存结构:
添加数据时程序会自动在最后方开辟一个空间来储存新添加的数据,如果指定位置则会在指定位置重新开辟一个新的空间并将原来的数据自动向后移动一格。删除元素时会将指定索引处的元素删除,后方元素依次向前移动一格。
特点:查询快,增删慢
ArrayList的使用:
首先实例化ArrayList
List<String> list = new ArrayList<>();
add()添加元素:
格式:变量名.add(添加的元素);
list.add("蔡徐坤");
list.add("真爱粉");
list.add("小黑子");
向指定位置添加元素:
格式:变量名.add(添加元素位置索引,添加的元素);
list.add(1,"绿尸寒警告");
set()用指定的元素替代此列表中指定位置上的元素
格式:变量名.set(要替换元素的索引,替换值);
list.set(1,"唱,跳,rap,篮球");
get()返回列表指定位置上的元素
格式:变量名.get(要返回元素的索引);
System.out.println(list.get(1));
size()返回此表中的元素数
格式:变量名.size();
System.out.println(list.size());
remove()移除此列表中指定位置上的元素
格式:变量名.remove(要移除元素的索引);
list.remove(1);
clear()从集合中移除所有元素
格式:变量名.clear();
list.clear()
LinkedList
同样实现List接口的LinkedList与ArrayList不同,ArrayList是一个动态数组,而LinkedList是一个双向链表。数据结构如下:
特点:查询慢,增删块
LinkedList的方法:
Set
Set集合它所储存的元素是无序的且不可重复的。
Set集合不能直接获取某个元素,只能通过迭代器遍历元素。
Set数据结构:
HashSet的使用方法
首先实例化HashSet
Set<String> set = new HashSet<>();
遍历元素方法:
//增强for循环
for (String s : set) {
System.out.println(s);
}
//迭代器
Iterator<String> aa = set.iterator();
while (aa.hasNext()){
String b = aa.next();
System.out.println(b);
}
add()如果此 set 中尚未包含指定元素,则添加指定元素
set.add("树叶");
set.add("风源树叶");
set.add("我是冒险家协会的");
set.add("八神虫子");
set.add("原神的形状");
set.add("你适合去往生堂上班");
set.add("下班!原神,启动");
set.add("你只会变成个丘丘人");
remove()如果Set集合中存在指定元素,则从Set集合中移除该元素
set.remove("树叶"):
size()返回此列表上的元素数
System.out.println(set.size());
clear()从Set集合中移除所有元素
set.clear()
contains()判断Set集合中是否包含指定元素。包含返回true。不包含返回false
System.out.println(set.contains("风源树叶"));
Map
Map与List、Set接口不同,它是由一系列键值对组成的集合,提供了key到Value的映射。在Map中它保证了key与value之间的一一对应关系。
在Map中key是不允许重复的,value的值可以重复。
Map会把所有的key存放在一个set集合中。
数据结构:
使用方法:
Map<String,Object> map = new HashMap<>();
添加元素:
map.put("name","蔡徐坤");
map.put("age",2.5);
map.put("sex","男");
遍历元素:
Set<String> strings = map.keySet();
Iterator<String> iterator = strings.iterator();
while (iterator.hasNext()){
String i = iterator.next();
Object o = map.get(i);
System.out.println(i + "----" + o);