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);
}
}
}
Collection(二)--------linkedList
最新推荐文章于 2022-11-11 10:43:09 发布