1. 程式人生 > >Vector.LinkedList的特有功能 ArrayList去除集合中重複值的兩種方法

Vector.LinkedList的特有功能 ArrayList去除集合中重複值的兩種方法

1.Vector的特有功能

新增功能
		public void addElement(Object obj)
	獲取功能
 		public Object elementAt(int index)
 		public Enumeration elements() 
 			boolean hasMoreElements()
 			Object nextElement()

2.LinkedList的特有功能

新增功能
  			public void addFirst(Object e)新增到第一個元素
  			public void addLast(Object e)新增到最後一個元素
  		獲取功能
  			public Object getFirst()獲取第一個元素
  			public Object getLast()獲取最後一個元素
 		刪除功能
 			public Object removeFirst()刪除第一個元素
 			public Object removeLast()刪除最後一個元素

3.ArrayList去除集合中字串的重複值

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

/*	第一種方法
 * ArrayList去除集合中字串的重複值(字串的內容相同)
 * 
 * 分析:
 * 		1.建立集合物件
 * 		2.新增多個字串元素(有重複)
 * 		3.建立集合物件
 * 		4.遍歷舊集合
 * 		5.與新集合相比,沒有新增到新集合,有則忽略 
 * 		6.遍歷新集合
 * 
 * */

public class demo {
	public static void main(String[] args) {
		ArrayList arr = new ArrayList();
		arr.add("hello");
		arr.add("world");
		arr.add("java");
		arr.add("hello");
		arr.add("world");
		arr.add("hello");
		arr.add("world");
		arr.add("java");
		arr.add("hello");
		arr.add("world");
		ArrayList newarr = new ArrayList();
		Iterator it = arr.iterator();
		while (it.hasNext()) {
			String s = (String) it.next();
			if (!newarr.contains(s)) {
				newarr.add(s);
			}

		}
		for (int i = 0; i < newarr.size(); i++) {
			String s = (String) newarr.get(i);
			System.out.println(s);
		}
	}
}

import java.util.ArrayList;

/*	第二種方法
 * ArrayList去除集合中自定義的重複值(字串的內容相同)
 * 
 * 不建立新集合
 */

public class demo2 {
	public static void main(String[] args) {
		ArrayList arr = new ArrayList();
		arr.add("hello");
		arr.add("world");
		arr.add("java");
		arr.add("hello");
		arr.add("world");
		arr.add("hello");
		arr.add("world");
		arr.add("java");
		arr.add("hello");
		arr.add("world");
		// 由選擇排序思想引入
		// 拿0索引的和後面一次比較,有相同就刪除,
		// 同理,1索引,,,

		for (int i = 0; i < arr.size() - 1; i++) {
			for (int j = i + 1; j < arr.size(); j++) {
				if (arr.get(i).equals(arr.get(j))) {
					arr.remove(j);
					j--;
				}
			}
		}
		for (int i = 0; i < arr.size(); i++) {
			String s = (String) arr.get(i);
			System.out.println(s);
		}
	}

}

okokokokkkk!