13-数据结构-List

大家好,我是被白菜拱的猪。

数据结构collection

是指数据与数据的关系,共有四种形式
(1)集合:Set,具有相同元素的总和—是关心整体的数据结构,数据与数据之间没有关系(无序的)。
(2)线性:List 数据之间具有前后关系
(3)树:Tree 数据之间具有父子关系
(4)图:Map 数据之间映射关系

今天主要介绍List

List

List线性结构:
(1)ArrayList 数组线性表 连续的内存单元存储元素 优点:获取全部元素的速度快
与数组的区别就是数组要指定长度,ArrayList不用指定长度。
(2)LinkedList 链表(链式线性表) 以指针连接的线性结构 插入,删除速度快
跟个自行车链条一样,可以杂乱无章的排布,每个元素存有下一个元素的地址
例外还有

  • Vector 向量
  • Stack 栈
  • Heap 堆
  • Queue 队列
    这里不加以详细介绍,主要介绍ArrayList和LinkedList

其实以上介绍的用法一致,我们需要知道的是几个常用的方法
(1)尺寸size与数组的length一致,只不过在list里面换个叫法
(2)添加 :add()
(3)插入:add(指定位置, 元素)
(4)修改:set(指定位置, 新元素)
(5)获取:get()从零开始
(6)删除:remove()

这几个方法对于向量,栈,堆,队列都是行得通的,只不过他们是根据不同的语境使用`

	List<String> l = new LinkedList<String>();
		
		l.add("abc");
		l.add("abc");
		l.add("xyz");
		l.add("mmmm");
		l.add("abc");
		
		l.add(2, "uuu");
		
		l.remove(4);
		
		l.set(1, "new");
		
		for (int i = 0; i < l.size(); i++) {
			System.out.println(l.get(i));
		}
		
	}

List是一个借口,借口是不能创建对象的,也就是说 new List()是错误的,因此要用实现类ArrayList实例化一个对象。
List< String > ,<…>是泛型,告诉你这个list里面是存什么类型的值,就如数组一样,一样告诉这是一个什么样的数组,存int 还是存String。

发布了24 篇原创文章 · 获赞 4 · 访问量 2038

猜你喜欢

转载自blog.csdn.net/weixin_44226263/article/details/97620168