首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Java进阶-Java学习路线课程第一课:Java集合框架-ArrayList和LinkedList的使用

  • 25-02-21 23:22
  • 3098
  • 5974
blog.csdn.net

本博客地址 | GitHub | 更多资源免费下载

        小伙伴们,大家晚上好!今天我给大家带来Java集合框架Collection之List讲解,今天主要讲解List接口下的两个实现类ArrayList和LinkedList,今天的讲解非常重要,请大家仔细看噢!

Java集合框架-ArrayList和LinkedList的使用

       前面我们学过了数组(不熟悉数组的小伙伴点击:Java入门-Java学习路线课程第五课:一维数组),存取数据都非常方便,但是声明数组时要给一个固定的长度,如果用来储存每天的新闻的话,好象有点尴尬,因为新闻每天可能不一样的噢!如果新闻太少,浪费空间,如果新闻很多,又会造成空间不够,那么怎么办呢?还有怎么存储更复杂的数据(类型)对象,这些我们都可以用Java集合框架解决。

文章目录

          • 1、首先,让大家看看一个简洁的Java集合框架结构体系图:
          • 2、再看看这些接口和类有什么特征。
          • 3、ArrayList演示案例代码(含List遍历(或打印输出)五种方式):
          • 4、输出结果:
          • 5、ArrayList初始化存储空间对象Object的长度为0,增加第一个元素时候,存储空间对象Object由0变成10个,10个存储空间用完之后增至15个如图
          • 6、LinkedList演示案例代码(含List遍历(或打印输出)五种方式):
          • 7、输出结果:
          • 8、LinkedList 初始化是first对象和 last对象都为 null ,增加元素后也是在first和 last之间增加。增加第一个元素后,又产生了三个item对象、next和prev对象。如图:
          • 9、ArrayList和LinkedList的异同:
          •        小伙伴们,本章已经结束,你们都懂了吗?记得关注、点赞、分享和关注微信公众号(javaforum)噢!有疑问或好的建议请与我联系噢!持续更新!敬请关注!

1、首先,让大家看看一个简洁的Java集合框架结构体系图:
2、再看看这些接口和类有什么特征。
  • Collection(接口)

特征(单列集合): 不唯一,无序

  • List(子接口)

特征(单列集合): 不唯一,有序

  • Set(子接口)

特征(单列集合): 唯一,无序

  • Map(接口)

特征(双列集合): 键值对

key --->value  map.put("userName",uName);
key是拿的Set的特性,而value是拿的Collection的特性。
  • 1
  • 2
  • ArrayList(List的实现类)

特征:底层就是数组 查询、更新效率比较高

  • LinkedList(List的实现类)

特征:底层就是链表 删除和增加效率比较高

3、ArrayList演示案例代码(含List遍历(或打印输出)五种方式):
News.java  实例类

package com.javaxyz.entity;

/**
 * @ClassName:News.java
 * @Description:新闻实例类
 * @Author:DongGaoYun
 * @AuthorEnglishName:Andy
 * @URL:www.javaxyz.com 或 www.gyun.org
 * @Email:[email protected]
 * @QQ:1050968899
 * @WeiXin:QingYunJiao
 * @WeiXinGongZhongHao: JavaForum
 * @Date:2019-10-22 下午2:23:38
 * @Version:1.0 完成以下基本代码:  1.属性  2.get和set方法   3.构造方法  4.toString
 * 
 */
public class News {
	//属性
	private int id;
	private String title;//标题
	private String author;//作者

	/**
	 * @return the id
	 */
	public int getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(int id) {
		this.id = id;
	}

	/**
	 * @return the title
	 */
	public String getTitle() {
		return title;
	}

	/**
	 * @param title
	 *            the title to set
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * @return the author
	 */
	public String getAuthor() {
		return author;
	}

	/**
	 * @param author
	 *            the author to set
	 */
	public void setAuthor(String author) {
		this.author = author;
	}

	// toString
	@Override
	public String toString() {
		return "News [id=" + id + "," + " title=" + title + "," + " author="
				+ author + "]\n";
	}

	/**
	 * 无参构造方法
	 */
	public News() {
	}

	/**
	 * 有参构造方法
	 * @param id
	 * @param title
	 * @param author
	 */
	public News(int id, String title, String author) {
		super();
		this.id = id;
		this.title = title;
		this.author = author;
	}

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
package com.javaxyz.test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.javaxyz.entity.News;

/**
 * @ClassName:ArrayListDemo.java
 * @Description:ArrayList的使用
 * @Author:DongGaoYun 
 * @AuthorEnglishName:Andy
 * @URL:www.javaxyz.com 或   www.gyun.org
 * @Email:[email protected]
 * @QQ:1050968899
 * @WeiXin:QingYunJiao
 * @WeiXinGongZhongHao: JavaForum
 * @Date:2019-10-22 下午2:38:25
 * @Version:1.0
 * ArrayList 底层数组 优势: 查询 更新
 */
public class ArrayListDemo{
	//需求:
	//增加新闻元素
	//获取新闻总数
	//操作ArrayList容器,移除元素   
	//打印输出五种方式	
 	@SuppressWarnings("all")
	public static void main(String[] args){
 		//创建对象
		List list=new ArrayList();//多态的形式。//1.父子关系 2.重写方法 3.父类的引用指向子类对象
//		ArrayList list=new ArrayList();
		News news1=new News(1, "张卓1", "green1");
		News news2=new News(2, "张卓2", "green2");
		News news3=new News(3, "张卓3", "green3");
		News news4=new News(4, "张卓4", "green4");
		News news5=new News(5, "张卓5", "green5");
		News news6=new News(6, "张卓6", "green6");
		News news7=new News(7, "张卓7", "green7");
		News news8=new News(8, "张卓8", "green8");
		News news9=new News(9, "张卓9", "green9");
		News news10=new News(10, "张卓10", "green10");
		News news11=new News(11, "张卓11", "green11");
		//插入数据
		//add方法在List集合里增加元素返回值是true
		list.add(news1);
		list.add(news2);
		list.add(news3);
		list.add(news5);
		list.add(news6);
		list.add(news9);
		list.add(news10);
		list.add(news11);
		//插入下标为1的位置,实际是第二个地方
		list.add(1,news4);
		list.add(2,news7);
		list.add(3,news8);
		//总条数
		System.out.println(list.size());
		
		//操作ArrayList容器,移除元素
	//	list.remove(1);
	//	list.remove(news1);
		//判断是否包含此元素
		System.out.println(list.contains(news7));
		//list
		System.out.println("-------第一种打印输出方法---start----");
		System.out.print(list);
		System.out.println("-------第一种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第二种打印输出方法-普通for--start----");
		for (int i = 0; i <list.size(); i++) {
			News newss= (News) list.get(i);
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第二种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第三种打印输出方法-增强for--start----");
		for (Object object : list) {
			News newss= (News) object;
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第三种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第四种打印输出方法-转换成数组--start----");
		/**
		 *  toArray
			Object[] toArray()
		 *  返回包含此 collection 中所有元素的数组。如果 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。 
			返回的数组将是“安全的”,因为此 collection 并不维护对返回数组的任何引用。(换句话说,即使 collection 受到数组的支持,此方法也必须分配一个新的数组)。因此,调用者可以随意修改返回的数组。 
			
			此方法充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。 		
			
			返回:
			包含此 collection 中所有元素的数组  更多免费资料请加微信公众号:javaforum
		 */
		Object[] obj=list.toArray();
		for (Object object : obj) {
			News newss= (News) object;
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第四种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第五种打印输出方法-迭代方式--start----");
		/**
		 * iterator
		   Iterator iterator()
		   
		   boolean hasNext() 
		          如果仍有元素可以迭代,则返回 true。 
		          
		   E next()           更多免费资料请加微信公众号:javaforum
		          返回迭代的下一个元素。 
		          
		   void remove() 
		          从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。 

		 */
		Iterator it=list.iterator();
		while(it.hasNext()){
			News newss= (News) it.next();
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第五种打印输出方法---end----");		
 	} 
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
4、输出结果:
11
true
-------第一种打印输出方法---start----
[News [id=1, title=张卓1, author=green1]
, News [id=4, title=张卓4, author=green4]
, News [id=7, title=张卓7, author=green7]
, News [id=8, title=张卓8, author=green8]
, News [id=2, title=张卓2, author=green2]
, News [id=3, title=张卓3, author=green3]
, News [id=5, title=张卓5, author=green5]
, News [id=6, title=张卓6, author=green6]
, News [id=9, title=张卓9, author=green9]
, News [id=10, title=张卓10, author=green10]
, News [id=11, title=张卓11, author=green11]
]-------第一种打印输出方法---end----

-------第二种打印输出方法-普通for--start----
News [id=1, title=张卓1, author=green1]
News [id=4, title=张卓4, author=green4]
News [id=7, title=张卓7, author=green7]
News [id=8, title=张卓8, author=green8]
News [id=2, title=张卓2, author=green2]
News [id=3, title=张卓3, author=green3]
News [id=5, title=张卓5, author=green5]
News [id=6, title=张卓6, author=green6]
News [id=9, title=张卓9, author=green9]
News [id=10, title=张卓10, author=green10]
News [id=11, title=张卓11, author=green11]
-------第二种打印输出方法---end----

-------第三种打印输出方法-增强for--start----
News [id=1, title=张卓1, author=green1]
News [id=4, title=张卓4, author=green4]
News [id=7, title=张卓7, author=green7]
News [id=8, title=张卓8, author=green8]
News [id=2, title=张卓2, author=green2]
News [id=3, title=张卓3, author=green3]
News [id=5, title=张卓5, author=green5]
News [id=6, title=张卓6, author=green6]
News [id=9, title=张卓9, author=green9]
News [id=10, title=张卓10, author=green10]
News [id=11, title=张卓11, author=green11]
-------第三种打印输出方法---end----

-------第四种打印输出方法-转换成数组--start----
News [id=1, title=张卓1, author=green1]
News [id=4, title=张卓4, author=green4]
News [id=7, title=张卓7, author=green7]
News [id=8, title=张卓8, author=green8]
News [id=2, title=张卓2, author=green2]
News [id=3, title=张卓3, author=green3]
News [id=5, title=张卓5, author=green5]
News [id=6, title=张卓6, author=green6]
News [id=9, title=张卓9, author=green9]
News [id=10, title=张卓10, author=green10]
News [id=11, title=张卓11, author=green11]
-------第四种打印输出方法---end----

-------第五种打印输出方法-迭代方式--start----
News [id=1, title=张卓1, author=green1]
News [id=4, title=张卓4, author=green4]
News [id=7, title=张卓7, author=green7]
News [id=8, title=张卓8, author=green8]
News [id=2, title=张卓2, author=green2]
News [id=3, title=张卓3, author=green3]
News [id=5, title=张卓5, author=green5]
News [id=6, title=张卓6, author=green6]
News [id=9, title=张卓9, author=green9]
News [id=10, title=张卓10, author=green10]
News [id=11, title=张卓11, author=green11]
-------第五种打印输出方法---end----
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
5、ArrayList初始化存储空间对象Object的长度为0,增加第一个元素时候,存储空间对象Object由0变成10个,10个存储空间用完之后增至15个如图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、LinkedList演示案例代码(含List遍历(或打印输出)五种方式):
package com.javaxyz.test;

import java.util.Iterator;
import java.util.LinkedList;

import com.javaxyz.entity.News;

/**
 * @ClassName:LinkedListDemo.java
 * @Description:LinkedList的使用
 * @Author:DongGaoYun 
 * @AuthorEnglishName:Andy
 * @URL:www.javaxyz.com 或   www.gyun.org
 * @Email:[email protected]
 * @QQ:1050968899
 * @WeiXin:QingYunJiao
 * @WeiXinGongZhongHao: JavaForum
 * @Date:2019-10-22 下午2:38:25
 * @Version:1.0
 * LinkedList 底层链表 优势: 删除 增加    
 * 特有功能:
 * addFirst(); 增加头条元素
 * addLast(); 在新闻的最尾部插入新闻元素
 * getFirst(); 获取头条新闻
 * getLast(); 获取最尾部新闻
 * removeFirst();删除置顶元素
 * removeLast(); 删除最尾部新闻
 */
public class LinkedListDemo{
	//需求:
	//增加新闻元素
	//获取新闻总数
	//操作LinkedList容器,移除元素   
	//打印输出五种方式	
 	@SuppressWarnings("all")
	public static void main(String[] args){
 		//创建对象
 		//创建多态的形式,要注意的点:只能调用父类与子类重写的方法,子类特有方法无法调用
		//List list=new LinkedList();//多态的形式。//1.父子关系 2.重写方法 3.父类的引用指向子类对象
		
 		//初始化时只有first last      更多免费资料请加微信公众号:javaforum
 		
		LinkedList list=new LinkedList();
		News news1=new News(1, "张卓1", "green1");
		News news2=new News(2, "张卓2", "green2");
		News news3=new News(3, "张卓3", "green3");
		News news4=new News(4, "张卓4", "green4");
		News news5=new News(5, "张卓5", "green5");
		News news6=new News(6, "张卓6", "green6");
		News news7=new News(7, "张卓7", "green7");
		News news8=new News(8, "张卓8", "green8");
		//插入数据
		list.add(news1);
		list.add(news2);
/*		list.add(news3);*/
		//插入下标为1的位置,实际是第二个地方
		list.add(1,news4);
		//特有的方法:
		//置顶新闻
		list.addFirst(news8);
		//在新闻的最尾部插入新闻元素
		list.addLast(news5);
		//插入数据
		list.add(news6);
		//总条数
		System.out.println(list.size());
		//获取头条新闻
		System.out.println(list.getFirst());
		//获取最尾部新闻
		System.out.println(list.getLast());
		//操作ArrayList容器,移除元素
		list.remove(0);
		list.remove(news1);
		//删除置顶元素
		list.removeFirst();
		//删除最尾部新闻
		list.removeLast();
		//判断是否包含此元素
		System.out.println(list.contains(news7));
		//list
		System.out.println("-------第一种打印输出方法---start----");
		System.out.print(list);
		System.out.println("-------第一种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第二种打印输出方法-普通for--start----");
		for (int i = 0; i <list.size(); i++) {
			News newss= (News) list.get(i);
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第二种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第三种打印输出方法-增强for--start----");
		for (Object object : list) {
			News newss= (News) object;
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第三种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第四种打印输出方法-转换成数组--start----");
		/**
		 *  toArray
			Object[] toArray()
		 *  返回包含此 collection 中所有元素的数组。如果 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。  更多免费资料请加微信公众号:javaforum
			返回的数组将是“安全的”,因为此 collection 并不维护对返回数组的任何引用。(换句话说,即使 collection 受到数组的支持,此方法也必须分配一个新的数组)。因此,调用者可以随意修改返回的数组。 
			
			此方法充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。 		
			
			返回:
			包含此 collection 中所有元素的数组   
		 */
		Object[] obj=list.toArray();
		for (Object object : obj) {
			News newss= (News) object;
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第四种打印输出方法---end----");
		System.out.println();
		System.out.println("-------第五种打印输出方法-迭代方式--start----");
		/**
		 * iterator
		   Iterator iterator()
		   
		   boolean hasNext() 
		          如果仍有元素可以迭代,则返回 true。 
		          
		   E next() 
		          返回迭代的下一个元素。 
		          
		   void remove() 
		          从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。 

		 */
		Iterator it=list.iterator();
		while(it.hasNext()){
			News newss= (News) it.next();
			System.out.println("News [id=" + newss.getId() + "," + " title=" + newss.getTitle() + "," + " author="
					+ newss.getAuthor() + "]");
		}
		System.out.println("-------第五种打印输出方法---end----");		
 	} 
 }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
7、输出结果:
6
News [id=8, title=张卓8, author=green8]

News [id=6, title=张卓6, author=green6]

false
-------第一种打印输出方法---start----
[News [id=2, title=张卓2, author=green2]
, News [id=5, title=张卓5, author=green5]
]-------第一种打印输出方法---end----

-------第二种打印输出方法-普通for--start----
News [id=2, title=张卓2, author=green2]
News [id=5, title=张卓5, author=green5]
-------第二种打印输出方法---end----

-------第三种打印输出方法-增强for--start----
News [id=2, title=张卓2, author=green2]
News [id=5, title=张卓5, author=green5]
-------第三种打印输出方法---end----

-------第四种打印输出方法-转换成数组--start----
News [id=2, title=张卓2, author=green2]
News [id=5, title=张卓5, author=green5]
-------第四种打印输出方法---end----

-------第五种打印输出方法-迭代方式--start----
News [id=2, title=张卓2, author=green2]
News [id=5, title=张卓5, author=green5]
-------第五种打印输出方法---end----
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
8、LinkedList 初始化是first对象和 last对象都为 null ,增加元素后也是在first和 last之间增加。增加第一个元素后,又产生了三个item对象、next和prev对象。如图:

在这里插入图片描述
在这里插入图片描述

9、ArrayList和LinkedList的异同:
  • 初始化时,存储对象不同,分配空间方式也不一样,ArrayList是数组方式,而LinkedList是链表方式,如上图。

  • 优势不一样,ArrayList适合查询和更新,而LinkedList更适合删除和增加。

       小伙伴们,本章已经结束,你们都懂了吗?记得关注、点赞、分享和关注微信公众号(javaforum)噢!有疑问或好的建议请与我联系噢!持续更新!敬请关注!

———— 精 选 文 章 ————
  1. Java入门-Java学习路线课程第一课:初识JAVA
  2. Java入门-Java学习路线课程第二课:变量与数据类型
  3. Java入门-Java学习路线课程第三课:选择结构
  4. Java入门-Java学习路线课程第四课:循环结构
  5. Java入门-Java学习路线课程第五课:一维数组
  6. Java入门-Java学习路线课程第六课:二维数组
  7. Java入门-Java学习路线课程第七课:类和对象
  8. Java入门-Java学习路线课程第八课:方法和方法重载
  9. Java入门-Java学习路线扩展课程:equals的使用
  10. Java入门-Java学习路线课程面试篇:取商 / 和取余(模) % 符号的使用
  11. Java进阶-Java学习路线课程第二课:Java集合框架-HashSet的使用及去重原理
  12. Spring框架-Java学习路线课程第一课:Spring核心
  13. Spring框架-Java学习路线课程:Spring的扩展配置
  14. Springboot框架-Java学习路线课程:Springboot框架的搭建之maven的配置
  15. java学习:在给学生演示用Myeclipse10.7.1工具生成War时,意外报错:SECURITY: INTEGRITY CHECK ERROR
  16. 使用jquery发送Ajax请求的几种异步刷新方式
  17. idea Springboot启动时内嵌tomcat报错- An incompatible version [1.1.33] of the APR based Apache Tomcat Native
  18. 一个简单的SSM框架Demo(登录(包含拦截器)和注销

更多免费资源请关注微信公众号:

文章知识点与官方知识档案匹配,可进一步学习相关知识
Java技能树集合Java集合框架150366 人正在系统学习中
注:本文转载自blog.csdn.net的青云交的文章"https://blog.csdn.net/atgfg/article/details/102692183"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top