java-LinkedList用法

java中文API文檔
在這裏插入圖片描述
在這裏插入圖片描述

構造方法

構造方法
LinkedList() 構造一個空列表。
LinkedList(Collection<? extends E> c) ) 構造一個包含指定 collection 中的元素的列表,這些元素按其 collection 的迭代器返回的順序排列。
package first_package;
import java.util.*;
public class test_linklist {
	public static void main(String[] args){
		LinkedList<String> Lits = new LinkedList<String>();
		Lits.add("ccc");
		Lits.add("bbb");
		Lits.add("aaa");
		System.out.println("Linked list : " + Lits);
		for (String str: Lits) {  
		      System.out.println(str);  
		    } 
//		String[] y = Lits.toArray(new String[0]);
//		System.out.print(y);
		
		LinkedList<String> x = new LinkedList(Lits);
		System.out.println("Linked list : " + x);
		for (String str: x) {  
		      System.out.println(str);  
		    } 
	}

方法摘要

返回值 函數 作用
boolean add(E e) 將指定元素添加到此列表的結尾。
void add(int index, E element) 在此列表中指定的位置插入指定的元素。
boolean addAll(Collection<? extends E> c) 添加指定 collection 中的所有元素到此列表的結尾,順序是指定 collection 的迭代器返回這些元素的順序。
boolean addAll(int index, Collection<? extends E> c) 將指定 collection 中的所有元素從指定位置開始插入此列表。
void addFirst(E e) 將指定元素插入此列表的開頭。
void addLast(E e) 將指定元素添加到此列表的結尾。
void clear() 從此列表中移除所有元素。
object clone() 返回此 LinkedList 的淺表副本。
boolean contains(Object o) 如果此列表包含指定元素,則返回 true。
Iterator descendingIterator() 返回以逆向順序在此雙端隊列的元素上進行迭代的迭代器。
package first_package;
import java.util.*;
public class test_linklist {
	public static void main(String[] args){
		LinkedList<String> Lits = new LinkedList<String>();
		Lits.add("ccc");
		Lits.add("bbb");
		Lits.add("aaa");
		Lits.add(2,"ddd");
		System.out.println("Linked List Elemet"+Lits);
		// 新的LinkedList
		LinkedList<String> test = new LinkedList();
		test.add("eee");
		test.addFirst("fff");
		test.addLast("ggg");
		System.out.println("test Linked List Elemet"+test);
		
		Lits.addAll(test);
		System.out.println("new Lits Linked List Elemet"+Lits);
		
		Lits.peek();
		System.out.println("peek Lits Linked List Elemet"+Lits);
		Lits.poll();
		System.out.println("poll Lits Linked List Elemet"+Lits);
		
	}
	
}

在這裏插入圖片描述

實戰例題

在這裏插入圖片描述

package first_package;
import java.util.*;
public class test_linklist {
	public static void main(String[] args){
		
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int m = in.nextInt();
		LinkedList<Integer> l = new LinkedList<Integer>();
		
		for(int i = 1;i<n+1;i++){
			l.add(i);
		}
		int c,E1,E2,index1,index2,E;
		for(int j =0;j<m;j++){
			c = in.nextInt();
			if (c==1){
				E1 = in.nextInt();
				E2= in.nextInt();
				index1 = l.indexOf(E1);
				index2 = l.indexOf(E2);
				l.add(index2,E1);
				if(index1<index2){
					l.remove(index1);
				}
				else{
					l.remove(index1+1);
				}
				
			}
			else if(c==2){
				E1 = in.nextInt();
				E2= in.nextInt();
				index1  = l.indexOf(E1);
				index2 = l.indexOf(E2);
				l.add(index2+1,E1);
				if(index1<index2){
					l.remove(index1);
				}
				else{
					l.remove(index1+1);
				}
			}
			else if(c==3){
				E1 = in.nextInt();
				E2= in.nextInt();
				index1  = l.indexOf(E1);
				index2 = l.indexOf(E2);
				l.add(index1,E2);
				l.remove(index1+1);
				l.add(index2,E1);
				
				l.remove(index2+1);
				}
			
			else{
				LinkedList<Integer> r = new LinkedList<Integer>();
				for(int i=0;i<l.size();i++){
					E = l.get(l.size()-i-1);
					r.add(E);
					
				}
				l =r;
			}
			
		}
		int sum=0;
		int  sum_g =0;
		for(int i =0;i<l.size();i++){
			sum += l.get(i);
			if(i % 2==0){
				sum_g += l.get(i);
			}
		}
		if (l.size() %2==0){
			System.out.print(sum_g);
		}
		else{
			System.out.print(sum-sum_g);
		}
		
		
	}
	
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章