Java里面的集合

在前面的一节里面,我们看到的就是java的集合,大概的说了下我们的Collection接口。

今天,我们来说下list,也就是我们的列表,分别由个类.ArrayList和LinkList这个实现类.他们都u来自List,因此继承了列表Listde 

的所有功能。

但是这两者之间是由区别的,我们来看看他们的特点

1.首先ArrayList是数组样式的链表,它保存数据是按照数组来进行排列的,是一个线性的结构,每一个元素都有自己的下标

寻找元素十分的容易,直接就是数组名加上下标就可以找到该元素,寻找元素非常的快,数据在计算机拿出里面按照线性来进行排列的。

然而,我们的链表式链表式有点像c++里面的链表,它的每一个的端元由两部分组成,一个式数据,另外一个就是指向下一个链表的地址.他们之间式通过链式指针来实现连接的。由此,我们可以想到的就是,要像咋子链式链表插入数据式非常的容易的,只需要将指针指向另外的一个地址就可以了,非常的简短,但是在遍历数据这块,它的性能不及ArrayList。显然,他是更加的快的。

但是前者插入数据的话,需要做内存空间移动的操作,式非常的麻烦的。

由于ArrayList和LinkList都是List的子类因此都有Listde 所有的方法。但是List继承来自Collection接口,因此会由其父类所有的属性和方法。

下面我们来看看代码吧。

import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Consumer;

public class list {

	public list() {
		// TODO Auto-g enerated constructor stub
	}

	public static void main(String[] args) {
		Collection test = new ArrayList();
		test.add(123);
		test.add("hello world");
		test.add("jack");
		test.add(new Object());
		ArrayList a = new ArrayList();
		a.add(123);
		System.out.println(a);
		System.out.println(a.size());
		System.out.println(a.hashCode());
		a.remove(0);
		System.out.println(a);

	}

}

代码很简单那,这里就饿不咋多说了。

猜你喜欢

转载自blog.csdn.net/hackerbaseing/article/details/88857448