ArrayList
**1.什么是ArrayList:**
java.util.ArrayList<E> 是非常重要的一个类,在代码中广泛使用,E表示泛型,ArrayList是一个泛型类;ArrayList相当于C++ 的vector,用于存储对象。与数组不同,数组一旦创建,长度固定,但是ArrayList的长度是动态的,不受限制,可以存储任意多的对象,但是只能存储对象,不能存储原生数据类型例如int。
例子:
//ArrayList
ArrayList<String> list = new ArrayList<String>();
//作为一个集合 如何增删改查?
//增 会给每个元素分配一个下标 从0开始
list.add("第一个");
list.add("第二个");
//根据下标删除指定元素
//list.remove(1);
//根据下标修改制定元素
list.set(1, "第四个");
2、获取元素
list.get(int index)// 根据索引值获取元素
HashMap
**1.什么是HashMap:**
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射,继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。
例子:
1、添加
map.put(1, "第一个");
map.put(2, "第二个");
map.put(3, "第三个");
map.put(4, "第四个"); //键不允许重复 不报错 后者覆盖前者
2、获取元素
map.get(3) get() 的作用是获取key对应的value
3、删除元素
map.remove(2); remove() 的作用是删除“键为key”元素
4、修改元素
map.put(2, "第五个"); put() 的作用是对外提供接口,让HashMap对象可以通过put() 将“key-value”添加到HashMap中。
LinkedList
**1.什么是LinkedList**
LinkedList数据结构是链表。链表数据结构的特点是每个元素分配的空间不必连续、插入和删除元素时速度非常快、但访问元素的速度较慢。LinkedList类每个结点用内部类Node表示,LinkedList通过first和last引用分别指向链表的第一个和最后一个元素,当链表为空时,first和last都为NULL值。
例子:
Vector
**1.什么是Vector**
它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
例子:
//返回容器中最大数据的数量。
c.pop_back()
//删除最后一个数据。
c.push_back(elem)
//在尾部加入一个数据。
c.rbegin()
//传回一个逆向队列的第一个数据。
c.rend()
//传回一个逆向队列的最后一个数据的下一个位置。
c.resize(num)
//重新指定队列的长度。
c.reserve()
//保留适当的容量。
c.size()
//返回容器中实际数据的个数。
c1.swap(c2)//将c1和c2元素互换