Collection(二)--------linkedList

本文通过实例介绍了 Java 中 LinkedList 的基本使用方法,包括添加、查询、修改、删除元素等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package org.collection;

import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;


public class linkedListDemo {
	public static void main(String[] args) {
		List link = new LinkedList();
		List link1 = new  LinkedList();
		//如果此列表中没有元素,则返回 true 
		boolean isEmpty = link.isEmpty();
		System.out.println("isEmpty:"+isEmpty);
		//结果 	isEmpty:true
		
		//add(e)将指定的元素添加到此列表的尾部
		link.add("java");
		link.add("php");
		link.add("C#");
		link.add("C++");
		link.add("Js");
		link.add("Html");
		System.out.println("添加元素后的link"+link.toString());
		//结果 	添加元素后的link[java, php, C#, C++, Js, Html]
		
		//add(index,e)将指定的元素插入此列表中的指定位置。超出会抛出IndexOutOfBoundsException异常
		link.add(2, "你好");
		System.out.println("指定的元素插入后的link"+link.toString());
		//结果	指定的元素插入后的link[java, php, 你好, C#, C++, Js, Html]
		
		//size()返回集合的长度
		int size = link.size();
		System.out.println("size:"+size);
		//结果	size:7
		
		//isEmpty 返回false
		isEmpty = link.isEmpty();
		System.out.println("添加元素后是否为空:"+isEmpty);
		//结果	添加元素后是否为空:false
		
		
		link1.add("BJ");
		link1.add("TJ");
		link1.add("SH");
		link1.add("GZ");
		
		//按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
		//如果正在进行此操作时修改指定的 collection ,那么此操作的行为是不确定的
		link.addAll(link1);
		System.out.println("添加集合后的link:"+link.toString());
		//结果	添加集合后的link:[java, php, 你好, C#, C++, Js, Html, BJ, TJ, SH, GZ]
		
		//从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
		//向右移动当前位于该位置的元素(如果有)以及所有后续元素(增加其索引)。
		//新元素将按照指定 collection 的迭代器所返回的元素顺序出现在列表中
		link.addAll(3, link1);
		System.out.println("添加集合到指定位置后的link:"+link.toString());
		//结果	添加集合到指定位置后的link:[java, php, 你好, BJ, TJ, SH, GZ, C#, C++, Js, Html, BJ, TJ, SH, GZ]
		
		
		//contains如果此列表中包含指定的元素,则返回 true。
		//更确切地讲,当且仅当此列表包含至少一个满足 (o==null ? e==null : o.equals(e)) 的元素 e 时,则返回 true。 
		boolean contains = link.contains("TJ");
		System.out.println("是否包含指定的元素:"+contains);
		//结果 	是否包含指定的集合元素:true
		
		boolean containsAll = link.containsAll(link1);
		System.out.println("是否包含指定的集合:"+contains);
		//结果 	是否包含指定的集合:true
		
		//clear  移除此列表中的所有元素
//		link.clear();
//		System.out.println("移除此列表中的所有元素:"+link.toString());
		//结果 	移除此列表中的所有元素:[]
		
		//get()返回此列表中指定位置上的元素。
		Object obj = link.get(2);
		System.out.println("获取指定的元素:"+obj);
		//结果	获取指定的元素:你好
		
		//用指定的元素替代此列表中指定位置上的元素
		obj = link.set(2, "世界");
		System.out.println("以前位于该指定位置上的元素:"+obj);
		//结果	以前位于该指定位置上的元素:你好
		System.out.println("替换后的link:"+link.toString());
		//结果	替换后的link:[java, php, 世界, BJ, TJ, SH, GZ, C#, C++, Js, Html, BJ, TJ, SH, GZ]
		
		//indexOf 
		//返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
		//更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i ,如果不存在此类索引,则返回 -1。 
		int index = link.indexOf("TJ");
		System.out.println("首次出现的指定元素的索引:"+index);
		//结果	首次出现的指定元素的索引:4
		
		//lastIndexOf
		//返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
		//更确切地讲,返回满足 (o==null ? get(i)==null : o.equals(get(i))) 的最高索引 i,如果不存在此类索引,则返回 -1
		index = link.lastIndexOf("TJ");
		System.out.println("首次出现的指定元素的索引:"+index);
		//结果	首次出现的指定元素的索引:12
		
		//remove(int index)
		//移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。 
		obj = link.remove(4);
		System.out.println("移除指定的元素:"+obj);
		//结果	移除指定的元素:TJ
		
		//remove(object o)
		//移除此列表中首次出现的指定元素(如果存在)。如果列表不包含此元素,则列表不做改动。更确切地讲,移除满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引的元素(如果存在此类元素)。
		//如果列表中包含指定的元素,则返回 true(或者等同于这种情况:如果列表由于调用而发生更改,则返回 true)。
		obj = link.remove("TJ");
		System.out.println("移除指定的元素:"+obj);
		//结果	移除指定的元素:TJ
		System.out.println("移除指定的元素:"+link.toString());
		//结果中没有TJ	移除指定的元素:[java, php, 世界, BJ, SH, GZ, C#, C++, Js, Html, BJ, SH, GZ]
		
		System.out.println("---------方法一-----------------");
		//遍历集合:方法一
		for(int i = 0;i< link.size(); i++){
			System.out.println(link.get(i));
		}
		System.out.println("---------方法二-----------------");
		//遍历集合:方法二
		for(Object o : link){
			System.out.println(o);
		}
		//遍历集合:方法三
		System.out.println("--------方法san------------------");
		Iterator<String> it = link.iterator();
		while(it.hasNext()){
            String value = it.next();  
            System.out.println(value);
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值