ArrayList与LinkedKList
ArrayList和LinkedKList的区别,ArrayList新增、删除数据慢 查询快而LinkedKList新增、删除数快 查询慢。
LinkedList类
LinkedList 类采用链表结构保存对象,这种结构的优点是便于向集合中插入或者删除元素。需要频繁向集合中插入和删除元素时,使用 LinkedList 类比 ArrayList 类效果高,但是 LinkedList 类随机访问元素的速度则相对较慢。这里的随机访问是指检索集合中特定索引位置的元素。
举例
LinkedList还可以储存多个类型的数据
public class linkedListTest {
@Test
public void test01() {
List list = new LinkedList();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = false;
String i = "你好 JAVA";
Person person = new Person();
list.add(a);
list.add(b);
list.add(c);
list.add(d);
list.add(e);
list.add(f);
list.add(g);
list.add(h);
list.add(i);
list.add(person);
System.out.println(list.size());
}
ArrayList 类
ArrayList 类实现了可变数组的大小,存储在内的数据称为元素。它还提供了快速基于索引访问元素的方式,对尾部成员的增加和删除支持较好。使用 ArrayList 创建的集合,允许对集合中的元素进行快速的随机访问,不过,向 ArrayList 中插入与删除元素的速度相对较慢。
举例
public class ArrayListTest {
@Test
public void test() {
int[] array = new int[5];
array[2] = 2;
System.out.println(Arrays.toString(array));
}
ArrayList也是可以储存多个不同的数据
public void test01() {
List list = new ArrayList();
byte a = 1;
short b = 2;
int c = 3;
long d = 4L;
double e = 5.0d;
float f = 6.0f;
char g = 'a';
boolean h = true;
String i = "你好 JAVA";
Person person = new Person();
list.add(a);
list.add(b);
list.add(c);
list.add(d);
list.add(e);
list.add(f);
list.add(g);
list.add(h);
list.add(i);
list.add(person);
System.out.println(list.size());
}