区分Java中的ArrayList和LinkedList

网友投稿 244 2022-12-03


区分Java中的ArrayList和LinkedList

一:ArrayList和LinkedList的大致区别如下:

1.ArrayList是实现了基于动态数组的数据结构,ArrayList实现了长度可变的数组,http://在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高

2.LinkedList基于链表的数据结构, 插入、删除元素时效率比较高  故:【插入、删除操作频繁时,可使用LinkedList来提高效率】

LinkedList提供对头部和尾部元素进行添加和删除操作的方法,插入/删除第一个和最后一个效率比较高;

3:ArrayList和LinkedList都是List接口的实现,都存储一组不唯一,有序(插入顺序)的对象, 对元素进行添加、删除等操作[ 即:List的性质]

4.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。

5.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

6:LinkedList比ArrayList更占内存

eg:(代码示例01)----ArrayList与LinkedLis的数据添加和查找耗时对比

import java.util.ArrayList;

import java.util.LinkedList;

import java.util.List;

public class HFSD {

static final int N=50000; //添加5000条数据

static long timeList(List list){ //添加数据所需时间

long start=System.currentTimeMillis();

Object o = new Object();

for(int i=0;i

list.add(0, o);

}

return System.currentTimeMillis()-start;

}

static long readList(List list){ //查找数据所需时间

long start=System.currentTimeMillis();

for(int i=0,j=list.size();i

}

return System.currentTimeMillis()-start;

}

static List addList(List list){

Object o = new Object();

for(int i=0;i

list.add(0, o);

}

return list;

}

public static void main(String[] args) {

System.out.println("ArrayList添加"+N+"条耗时:"+timeList(new ArrayList()));

System.out.println("LinkedList添加"+N+"条耗时:"+timeList(new LinkedList()));

List list1=addList(new ArrayList<>());

List list2=addList(new LinkedList<>());

System.out.println("ArrayList查找"+N+"条耗时:"+readList(list1));

System.out.println("LinkedList查找"+N+"条耗时:"+readList(list2));

}

从以上结果,我i们可以看出 ArrayList更适合读取数据,linkedList更多的时候添加或删除数据。

ArrayList:内部是使用可増长数组实现的,所以是用get和set方法是花费少数时间的,但是如果插入元素和删除元素,除非插入ifRqtnDE和删除的位置都在表末尾,否则代码开销会很大,因为里面需要数组的移动。

LinkedList:是使用双链表实现的,所以get会非常消耗资源,除非位置离头部很近。但是插入和删除元素花费少数时间。

二:ArrayList和LinkedList的共有方法(即List的方法):

eg:(代码示例02)----ArrayList代码示例

package JIhekuangjia006.ArrayList;

/**

* 小猪类

*/

public class Pig {

private String name;

private String sex;

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.ArrayList;

import java.util.*;

/**

* 使用ArrayList集合进行操作数据

*/

public class Test1 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙http://龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

List list=new ArrayList();

//直接将元素添加排序

list.add(xiaojia);

list.add(jiajia);

list.add(xiaolong);

//将龙龙添加到索引为2的位置

list.add(2,longlong);

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪信息

//方法一:for循环与get()方法配合实现遍历

for(int i=0;i

Pig center=(Pig)list.get(i);//因为list.get()的返回值为Object的类型,所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

//方法二:通过迭代器Iterator实现遍历

// Iterator it=list.iterator();

// while (it.hasNext()){

// Pig center=(Pig)it.next();

// System.out.println(center.getName()+","+center.getSex());

// }

System.out.println("*********************************************************");

//4.删除小猪信息

//删除第一只小猪,小佳

list.remove(0);//与数组下标相对应

//删除指定小猪,小龙

list.remove(xiaolong);

//将剩下的小猪信息进行输出

System.out.println("删除之后还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

/**

* Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,

* 使用前需要进行强制类型转换

*/

Pig center=(Pig)list.get(i);//所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

System.out.println("*******************************************************");

//5.判断集合中是否包含指定小猪

if (list.contains(xiaojia)){//使用list.contains()方法进行判断

System.out.println("集合中有小佳");

}else{

System.out.println("集合中没有小佳");

}

}

}

测试运行结果如下:

三:LinkedList的特有方法:

eg:(代码示例03)----LinkedList代码示例:

package JIhekuangjia006.LinkedList;

/**

* 小猪类

*/

public class Pig {

private String name; //昵称

private String sex; //性别

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.LinkedList;

import java.util.Iterator;

import java.util.LinkedList;

/**

* 使用LinkedList集合操作数据

*/

public class Test2 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

LinkedList list=new LinkedList();

//直接将元素添加排序

list.add(xiaolong);

list.add(longlong);

list.addFirst(jiajia);//将佳佳添加到第一个位置

list.addLast(xiaojia);//将小龙添加到最后一个位置

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪的信息

//方法一:通过迭代器Iterator实现遍历

Iterator it=list.iterator();

while (it.hasNext()){

Pig center=(Pig)it.next();

System.out.println(center.getName()+","+center.getSex());

}

//方法二:for循环与get()方法配合实现遍历

// for(int i=0;i

// Pig pig=(Pig)list.get(i);

// System.out.println(pig.getName()+","+pig.getSex());

// }

System.out.println("************************************************");

//4.

//获取第一只小猪的信息

Pig center=(Pig)list.getFirst();

System.out.println("第一条狗狗信息是:"+center.getName()+","+center.getSex());

//获取最后一只小猪的信息

Pig center1=(Pig)list.getLast();

System.out.println("最后一条狗狗信息是:"+center1.getName()+","+center1.getSex());

System.out.println("*****************************************************");

//5.删除第一只小猪和最后一只小猪

list.removeFirst();

list.removeLast();

System.out.println("*****************************************************");

//6.输出剩下小猪的信息

System.out.println("剩下还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!

list.add(0, o);

}

return System.currentTimeMillis()-start;

}

static long readList(List list){ //查找数据所需时间

long start=System.currentTimeMillis();

for(int i=0,j=list.size();i

}

return System.currentTimeMillis()-start;

}

static List addList(List list){

Object o = new Object();

for(int i=0;i

list.add(0, o);

}

return list;

}

public static void main(String[] args) {

System.out.println("ArrayList添加"+N+"条耗时:"+timeList(new ArrayList()));

System.out.println("LinkedList添加"+N+"条耗时:"+timeList(new LinkedList()));

List list1=addList(new ArrayList<>());

List list2=addList(new LinkedList<>());

System.out.println("ArrayList查找"+N+"条耗时:"+readList(list1));

System.out.println("LinkedList查找"+N+"条耗时:"+readList(list2));

}

从以上结果,我i们可以看出 ArrayList更适合读取数据,linkedList更多的时候添加或删除数据。

ArrayList:内部是使用可増长数组实现的,所以是用get和set方法是花费少数时间的,但是如果插入元素和删除元素,除非插入ifRqtnDE和删除的位置都在表末尾,否则代码开销会很大,因为里面需要数组的移动。

LinkedList:是使用双链表实现的,所以get会非常消耗资源,除非位置离头部很近。但是插入和删除元素花费少数时间。

二:ArrayList和LinkedList的共有方法(即List的方法):

eg:(代码示例02)----ArrayList代码示例

package JIhekuangjia006.ArrayList;

/**

* 小猪类

*/

public class Pig {

private String name;

private String sex;

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.ArrayList;

import java.util.*;

/**

* 使用ArrayList集合进行操作数据

*/

public class Test1 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙http://龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

List list=new ArrayList();

//直接将元素添加排序

list.add(xiaojia);

list.add(jiajia);

list.add(xiaolong);

//将龙龙添加到索引为2的位置

list.add(2,longlong);

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪信息

//方法一:for循环与get()方法配合实现遍历

for(int i=0;i

Pig center=(Pig)list.get(i);//因为list.get()的返回值为Object的类型,所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

//方法二:通过迭代器Iterator实现遍历

// Iterator it=list.iterator();

// while (it.hasNext()){

// Pig center=(Pig)it.next();

// System.out.println(center.getName()+","+center.getSex());

// }

System.out.println("*********************************************************");

//4.删除小猪信息

//删除第一只小猪,小佳

list.remove(0);//与数组下标相对应

//删除指定小猪,小龙

list.remove(xiaolong);

//将剩下的小猪信息进行输出

System.out.println("删除之后还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

/**

* Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,

* 使用前需要进行强制类型转换

*/

Pig center=(Pig)list.get(i);//所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

System.out.println("*******************************************************");

//5.判断集合中是否包含指定小猪

if (list.contains(xiaojia)){//使用list.contains()方法进行判断

System.out.println("集合中有小佳");

}else{

System.out.println("集合中没有小佳");

}

}

}

测试运行结果如下:

三:LinkedList的特有方法:

eg:(代码示例03)----LinkedList代码示例:

package JIhekuangjia006.LinkedList;

/**

* 小猪类

*/

public class Pig {

private String name; //昵称

private String sex; //性别

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.LinkedList;

import java.util.Iterator;

import java.util.LinkedList;

/**

* 使用LinkedList集合操作数据

*/

public class Test2 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

LinkedList list=new LinkedList();

//直接将元素添加排序

list.add(xiaolong);

list.add(longlong);

list.addFirst(jiajia);//将佳佳添加到第一个位置

list.addLast(xiaojia);//将小龙添加到最后一个位置

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪的信息

//方法一:通过迭代器Iterator实现遍历

Iterator it=list.iterator();

while (it.hasNext()){

Pig center=(Pig)it.next();

System.out.println(center.getName()+","+center.getSex());

}

//方法二:for循环与get()方法配合实现遍历

// for(int i=0;i

// Pig pig=(Pig)list.get(i);

// System.out.println(pig.getName()+","+pig.getSex());

// }

System.out.println("************************************************");

//4.

//获取第一只小猪的信息

Pig center=(Pig)list.getFirst();

System.out.println("第一条狗狗信息是:"+center.getName()+","+center.getSex());

//获取最后一只小猪的信息

Pig center1=(Pig)list.getLast();

System.out.println("最后一条狗狗信息是:"+center1.getName()+","+center1.getSex());

System.out.println("*****************************************************");

//5.删除第一只小猪和最后一只小猪

list.removeFirst();

list.removeLast();

System.out.println("*****************************************************");

//6.输出剩下小猪的信息

System.out.println("剩下还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!

}

return System.currentTimeMillis()-start;

}

static List addList(List list){

Object o = new Object();

for(int i=0;i

list.add(0, o);

}

return list;

}

public static void main(String[] args) {

System.out.println("ArrayList添加"+N+"条耗时:"+timeList(new ArrayList()));

System.out.println("LinkedList添加"+N+"条耗时:"+timeList(new LinkedList()));

List list1=addList(new ArrayList<>());

List list2=addList(new LinkedList<>());

System.out.println("ArrayList查找"+N+"条耗时:"+readList(list1));

System.out.println("LinkedList查找"+N+"条耗时:"+readList(list2));

}

从以上结果,我i们可以看出 ArrayList更适合读取数据,linkedList更多的时候添加或删除数据。

ArrayList:内部是使用可増长数组实现的,所以是用get和set方法是花费少数时间的,但是如果插入元素和删除元素,除非插入ifRqtnDE和删除的位置都在表末尾,否则代码开销会很大,因为里面需要数组的移动。

LinkedList:是使用双链表实现的,所以get会非常消耗资源,除非位置离头部很近。但是插入和删除元素花费少数时间。

二:ArrayList和LinkedList的共有方法(即List的方法):

eg:(代码示例02)----ArrayList代码示例

package JIhekuangjia006.ArrayList;

/**

* 小猪类

*/

public class Pig {

private String name;

private String sex;

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.ArrayList;

import java.util.*;

/**

* 使用ArrayList集合进行操作数据

*/

public class Test1 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙http://龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

List list=new ArrayList();

//直接将元素添加排序

list.add(xiaojia);

list.add(jiajia);

list.add(xiaolong);

//将龙龙添加到索引为2的位置

list.add(2,longlong);

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪信息

//方法一:for循环与get()方法配合实现遍历

for(int i=0;i

Pig center=(Pig)list.get(i);//因为list.get()的返回值为Object的类型,所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

//方法二:通过迭代器Iterator实现遍历

// Iterator it=list.iterator();

// while (it.hasNext()){

// Pig center=(Pig)it.next();

// System.out.println(center.getName()+","+center.getSex());

// }

System.out.println("*********************************************************");

//4.删除小猪信息

//删除第一只小猪,小佳

list.remove(0);//与数组下标相对应

//删除指定小猪,小龙

list.remove(xiaolong);

//将剩下的小猪信息进行输出

System.out.println("删除之后还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

/**

* Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,

* 使用前需要进行强制类型转换

*/

Pig center=(Pig)list.get(i);//所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

System.out.println("*******************************************************");

//5.判断集合中是否包含指定小猪

if (list.contains(xiaojia)){//使用list.contains()方法进行判断

System.out.println("集合中有小佳");

}else{

System.out.println("集合中没有小佳");

}

}

}

测试运行结果如下:

三:LinkedList的特有方法:

eg:(代码示例03)----LinkedList代码示例:

package JIhekuangjia006.LinkedList;

/**

* 小猪类

*/

public class Pig {

private String name; //昵称

private String sex; //性别

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.LinkedList;

import java.util.Iterator;

import java.util.LinkedList;

/**

* 使用LinkedList集合操作数据

*/

public class Test2 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

LinkedList list=new LinkedList();

//直接将元素添加排序

list.add(xiaolong);

list.add(longlong);

list.addFirst(jiajia);//将佳佳添加到第一个位置

list.addLast(xiaojia);//将小龙添加到最后一个位置

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪的信息

//方法一:通过迭代器Iterator实现遍历

Iterator it=list.iterator();

while (it.hasNext()){

Pig center=(Pig)it.next();

System.out.println(center.getName()+","+center.getSex());

}

//方法二:for循环与get()方法配合实现遍历

// for(int i=0;i

// Pig pig=(Pig)list.get(i);

// System.out.println(pig.getName()+","+pig.getSex());

// }

System.out.println("************************************************");

//4.

//获取第一只小猪的信息

Pig center=(Pig)list.getFirst();

System.out.println("第一条狗狗信息是:"+center.getName()+","+center.getSex());

//获取最后一只小猪的信息

Pig center1=(Pig)list.getLast();

System.out.println("最后一条狗狗信息是:"+center1.getName()+","+center1.getSex());

System.out.println("*****************************************************");

//5.删除第一只小猪和最后一只小猪

list.removeFirst();

list.removeLast();

System.out.println("*****************************************************");

//6.输出剩下小猪的信息

System.out.println("剩下还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!

list.add(0, o);

}

return list;

}

public static void main(String[] args) {

System.out.println("ArrayList添加"+N+"条耗时:"+timeList(new ArrayList()));

System.out.println("LinkedList添加"+N+"条耗时:"+timeList(new LinkedList()));

List list1=addList(new ArrayList<>());

List list2=addList(new LinkedList<>());

System.out.println("ArrayList查找"+N+"条耗时:"+readList(list1));

System.out.println("LinkedList查找"+N+"条耗时:"+readList(list2));

}

从以上结果,我i们可以看出 ArrayList更适合读取数据,linkedList更多的时候添加或删除数据。

ArrayList:内部是使用可増长数组实现的,所以是用get和set方法是花费少数时间的,但是如果插入元素和删除元素,除非插入ifRqtnDE和删除的位置都在表末尾,否则代码开销会很大,因为里面需要数组的移动。

LinkedList:是使用双链表实现的,所以get会非常消耗资源,除非位置离头部很近。但是插入和删除元素花费少数时间。

二:ArrayList和LinkedList的共有方法(即List的方法):

eg:(代码示例02)----ArrayList代码示例

package JIhekuangjia006.ArrayList;

/**

* 小猪类

*/

public class Pig {

private String name;

private String sex;

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.ArrayList;

import java.util.*;

/**

* 使用ArrayList集合进行操作数据

*/

public class Test1 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙http://龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

List list=new ArrayList();

//直接将元素添加排序

list.add(xiaojia);

list.add(jiajia);

list.add(xiaolong);

//将龙龙添加到索引为2的位置

list.add(2,longlong);

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪信息

//方法一:for循环与get()方法配合实现遍历

for(int i=0;i

Pig center=(Pig)list.get(i);//因为list.get()的返回值为Object的类型,所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

//方法二:通过迭代器Iterator实现遍历

// Iterator it=list.iterator();

// while (it.hasNext()){

// Pig center=(Pig)it.next();

// System.out.println(center.getName()+","+center.getSex());

// }

System.out.println("*********************************************************");

//4.删除小猪信息

//删除第一只小猪,小佳

list.remove(0);//与数组下标相对应

//删除指定小猪,小龙

list.remove(xiaolong);

//将剩下的小猪信息进行输出

System.out.println("删除之后还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

/**

* Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,

* 使用前需要进行强制类型转换

*/

Pig center=(Pig)list.get(i);//所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

System.out.println("*******************************************************");

//5.判断集合中是否包含指定小猪

if (list.contains(xiaojia)){//使用list.contains()方法进行判断

System.out.println("集合中有小佳");

}else{

System.out.println("集合中没有小佳");

}

}

}

测试运行结果如下:

三:LinkedList的特有方法:

eg:(代码示例03)----LinkedList代码示例:

package JIhekuangjia006.LinkedList;

/**

* 小猪类

*/

public class Pig {

private String name; //昵称

private String sex; //性别

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.LinkedList;

import java.util.Iterator;

import java.util.LinkedList;

/**

* 使用LinkedList集合操作数据

*/

public class Test2 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

LinkedList list=new LinkedList();

//直接将元素添加排序

list.add(xiaolong);

list.add(longlong);

list.addFirst(jiajia);//将佳佳添加到第一个位置

list.addLast(xiaojia);//将小龙添加到最后一个位置

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪的信息

//方法一:通过迭代器Iterator实现遍历

Iterator it=list.iterator();

while (it.hasNext()){

Pig center=(Pig)it.next();

System.out.println(center.getName()+","+center.getSex());

}

//方法二:for循环与get()方法配合实现遍历

// for(int i=0;i

// Pig pig=(Pig)list.get(i);

// System.out.println(pig.getName()+","+pig.getSex());

// }

System.out.println("************************************************");

//4.

//获取第一只小猪的信息

Pig center=(Pig)list.getFirst();

System.out.println("第一条狗狗信息是:"+center.getName()+","+center.getSex());

//获取最后一只小猪的信息

Pig center1=(Pig)list.getLast();

System.out.println("最后一条狗狗信息是:"+center1.getName()+","+center1.getSex());

System.out.println("*****************************************************");

//5.删除第一只小猪和最后一只小猪

list.removeFirst();

list.removeLast();

System.out.println("*****************************************************");

//6.输出剩下小猪的信息

System.out.println("剩下还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!

Pig center=(Pig)list.get(i);//因为list.get()的返回值为Object的类型,所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

//方法二:通过迭代器Iterator实现遍历

// Iterator it=list.iterator();

// while (it.hasNext()){

// Pig center=(Pig)it.next();

// System.out.println(center.getName()+","+center.getSex());

// }

System.out.println("*********************************************************");

//4.删除小猪信息

//删除第一只小猪,小佳

list.remove(0);//与数组下标相对应

//删除指定小猪,小龙

list.remove(xiaolong);

//将剩下的小猪信息进行输出

System.out.println("删除之后还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

/**

* Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,

* 使用前需要进行强制类型转换

*/

Pig center=(Pig)list.get(i);//所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

System.out.println("*******************************************************");

//5.判断集合中是否包含指定小猪

if (list.contains(xiaojia)){//使用list.contains()方法进行判断

System.out.println("集合中有小佳");

}else{

System.out.println("集合中没有小佳");

}

}

}

测试运行结果如下:

三:LinkedList的特有方法:

eg:(代码示例03)----LinkedList代码示例:

package JIhekuangjia006.LinkedList;

/**

* 小猪类

*/

public class Pig {

private String name; //昵称

private String sex; //性别

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.LinkedList;

import java.util.Iterator;

import java.util.LinkedList;

/**

* 使用LinkedList集合操作数据

*/

public class Test2 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

LinkedList list=new LinkedList();

//直接将元素添加排序

list.add(xiaolong);

list.add(longlong);

list.addFirst(jiajia);//将佳佳添加到第一个位置

list.addLast(xiaojia);//将小龙添加到最后一个位置

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪的信息

//方法一:通过迭代器Iterator实现遍历

Iterator it=list.iterator();

while (it.hasNext()){

Pig center=(Pig)it.next();

System.out.println(center.getName()+","+center.getSex());

}

//方法二:for循环与get()方法配合实现遍历

// for(int i=0;i

// Pig pig=(Pig)list.get(i);

// System.out.println(pig.getName()+","+pig.getSex());

// }

System.out.println("************************************************");

//4.

//获取第一只小猪的信息

Pig center=(Pig)list.getFirst();

System.out.println("第一条狗狗信息是:"+center.getName()+","+center.getSex());

//获取最后一只小猪的信息

Pig center1=(Pig)list.getLast();

System.out.println("最后一条狗狗信息是:"+center1.getName()+","+center1.getSex());

System.out.println("*****************************************************");

//5.删除第一只小猪和最后一只小猪

list.removeFirst();

list.removeLast();

System.out.println("*****************************************************");

//6.输出剩下小猪的信息

System.out.println("剩下还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!

/**

* Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,

* 使用前需要进行强制类型转换

*/

Pig center=(Pig)list.get(i);//所以需要强转为Pig的类型

System.out.println(center.getName()+","+center.getSex());

}

System.out.println("*******************************************************");

//5.判断集合中是否包含指定小猪

if (list.contains(xiaojia)){//使用list.contains()方法进行判断

System.out.println("集合中有小佳");

}else{

System.out.println("集合中没有小佳");

}

}

}

测试运行结果如下:

三:LinkedList的特有方法:

eg:(代码示例03)----LinkedList代码示例:

package JIhekuangjia006.LinkedList;

/**

* 小猪类

*/

public class Pig {

private String name; //昵称

private String sex; //性别

public Pig(String name,String sex){

this.name=name;

this.sex=sex;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getSex(){

return sex;

}

}

package JIhekuangjia006.LinkedList;

import java.util.Iterator;

import java.util.LinkedList;

/**

* 使用LinkedList集合操作数据

*/

public class Test2 {

public static void main(String[] args) {

//1.存储小猪信息

Pig xiaojia=new Pig("小佳","母");//索引为0

Pig xiaolong=new Pig("小龙","公");//索引为1

Pig jiajia=new Pig("佳佳","女");//索引为2

Pig longlong=new Pig("龙龙","男");//索引为3(与数组相同,从0开始)

//为小猪排序

LinkedList list=new LinkedList();

//直接将元素添加排序

list.add(xiaolong);

list.add(longlong);

list.addFirst(jiajia);//将佳佳添加到第一个位置

list.addLast(xiaojia);//将小龙添加到最后一个位置

//list.add(jiajia);//List 接口存储一组不唯一,有序(插入顺序)的对象

//2.获得小猪的总数

//通过list.size()方法获取元素的个数

list.size();

System.out.println("小猪的总数为"+list.size());

//3.逐条打印小猪的信息

//方法一:通过迭代器Iterator实现遍历

Iterator it=list.iterator();

while (it.hasNext()){

Pig center=(Pig)it.next();

System.out.println(center.getName()+","+center.getSex());

}

//方法二:for循环与get()方法配合实现遍历

// for(int i=0;i

// Pig pig=(Pig)list.get(i);

// System.out.println(pig.getName()+","+pig.getSex());

// }

System.out.println("************************************************");

//4.

//获取第一只小猪的信息

Pig center=(Pig)list.getFirst();

System.out.println("第一条狗狗信息是:"+center.getName()+","+center.getSex());

//获取最后一只小猪的信息

Pig center1=(Pig)list.getLast();

System.out.println("最后一条狗狗信息是:"+center1.getName()+","+center1.getSex());

System.out.println("*****************************************************");

//5.删除第一只小猪和最后一只小猪

list.removeFirst();

list.removeLast();

System.out.println("*****************************************************");

//6.输出剩下小猪的信息

System.out.println("剩下还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!

// Pig pig=(Pig)list.get(i);

// System.out.println(pig.getName()+","+pig.getSex());

// }

System.out.println("************************************************");

//4.

//获取第一只小猪的信息

Pig center=(Pig)list.getFirst();

System.out.println("第一条狗狗信息是:"+center.getName()+","+center.getSex());

//获取最后一只小猪的信息

Pig center1=(Pig)list.getLast();

System.out.println("最后一条狗狗信息是:"+center1.getName()+","+center1.getSex());

System.out.println("*****************************************************");

//5.删除第一只小猪和最后一只小猪

list.removeFirst();

list.removeLast();

System.out.println("*****************************************************");

//6.输出剩下小猪的信息

System.out.println("剩下还有"+list.size()+"只小猪,\n分别是:");

for(int i=0;i

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!

Pig pig=(Pig)list.get(i);

System.out.println(pig.getName()+","+pig.getSex());

}

//7.判断集合中是否存在小佳

if(list.contains(xiaojia)){

System.out.println("集合中存在小佳");

}else{

System.out.println("集合中不存在小佳");

}

}

}

测试运行结果如下:

以上就是区分Java中的ArrayList和LinkedList的详细内容,更多关于Java中ArrayList和LinkedList的资料请关注我们其它相关文章!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java后端SSM框架图片上传功能实现方法解析
下一篇:Spring AOP注解案例及基本原理详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~