LinkedList
package June11;
import java.util.*;
public class test {
public static void main(String[] args) {
List<String> list = new LinkedList<String>();
list.add("123");
list.add(0, null);
for(int i = 0;i < list.size();i ++) {
System.out.print(list.get(i) + " ");
}
ListIterator<String> iterator = list.listIterator();
iterator.next();
iterator.add("12");
for(int i = 0;i < list.size();i ++) {
System.out.print(list.get(i) + " ");
}
iterator.previous();
iterator.remove();
for(int i = 0;i < list.size();i ++) {
System.out.print(list.get(i) + " ");
}
iterator.next();
iterator.remove();
for(int i = 0;i < list.size();i ++) {
System.out.print(list.get(i) + " ");
}
iterator.add("111");
while(iterator.hasPrevious()) {
System.out.print(iterator.previous() + " ");
}
ListIterator<String> iterator_error = list.listIterator();
System.out.println();
while(iterator.hasNext()) {
iterator.next();
}
while(iterator_error.hasNext() && iterator.hasPrevious()) {
System.out.println("iterator_error`s value is " + iterator_error.next() + " iterator`s value is " + iterator.previous());
}
}
}
散列集的实现(个人认为大体是这么实现的)
package IteratorStudy;
import javax.swing.*;
import java.util.*;
import java.util.function.IntFunction;
import java.lang.*;
public class ReviewIterator {
public static void main(String[] args){
LinkedList<String>[] a = new LinkedList[100];
for(int i = 0;i < 100;i ++) {
a[i] = new LinkedList<>();
}
String[] s = new String[3];
s[0] = "abc";
s[1] = "abc";
s[2] = "acd";
for(int i = 0;i < s.length;i ++) {
int code = 0;
for(int j = 0;j < s[i].length();j ++) {
code += (int)s[i].charAt(j) * (int)s[i].charAt(j);
}
int index = code % 100;
ListIterator<String> iter = a[index].listIterator();
if(iter.hasNext() == false) {
iter.add(s[i]);
continue;
}
boolean flag = false;
while(iter.hasNext()) {
if(iter.next().equals(s[i])){
flag = true;
break;
}
}
if(flag == false) iter.add(s[i]);
}
for(int i = 0;i < 100;i ++) {
ListIterator aIter = a[i].listIterator();
while(aIter.hasNext()) {
System.out.println(aIter.next() + " ");
}
}
}
}
HashSet
package IteratorStudy;
import java.util.HashSet;
import java.util.Iterator;
public class StudyHashset {
public static void main(String[] args){
String[] s1 = new String[10];
HashSet<String> hashSet = new HashSet<String>();
for(int i = 0;i < s1.length;i ++) s1[i] = new String();
s1[0] = "aac";
s1[1] = "abc";
s1[2] = "acc";
s1[3] = "adc";
for(int i = 0;i < s1.length;i ++) {
hashSet.add(s1[i]);
System.out.println(s1[i].hashCode());
}
Iterator i1 = hashSet.iterator();
while(i1.hasNext()) System.out.println(i1.next());
}
}
TreeSet
package IteratorStudy;
import java.util.*;
public class StudyTreeSet {
public static void main(String[] args){
SortedSet<Integer> sortedSet = new TreeSet<>();
sortedSet.add(1);
sortedSet.add(2);
sortedSet.add(3);
NavigableSet<Integer> navigableSet = new TreeSet();
navigableSet.add(1);
navigableSet.add(1);
navigableSet.add(2);
Iterator iterator = navigableSet.descendingIterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
Queue
package IteratorStudy;
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Queue;
import java.util.concurrent.DelayQueue;
public class StudyQueue {
public static void main(String[] args){
Queue queue = new ArrayDeque();
queue.add(1);
queue.add(2);
queue.offer(2);
queue.offer(3);
while(queue.isEmpty() == false){
queue.remove();
}
Deque deque = new ArrayDeque();
deque.offerFirst(1);
deque.offerFirst(2);
deque.offerLast(3);
System.out.println(deque.peekFirst() + " " + deque.peekLast());
while(deque.isEmpty() == false) System.out.println(deque.pollFirst());
}
}
优先级队列
package IteratorStudy;
import java.util.PriorityQueue;
public class StudyPriorityQueue {
public static void main(String[] args){
PriorityQueue<String> priorityQueue = new PriorityQueue<>();
priorityQueue.add("Abc");
priorityQueue.add("121");
PriorityQueue<Integer> integerPriorityQueue = new PriorityQueue<>();
integerPriorityQueue.add(1);
integerPriorityQueue.add(2);
integerPriorityQueue.add(-1);
while(!integerPriorityQueue.isEmpty()) {
System.out.println(integerPriorityQueue.poll());
}
}
}
Map三种视图
package IteratorStudy;
import java.util.*;
public class StudyMap {
public static void main(String[] args){
Map<String,Integer> map = new HashMap<>();
map.put("a",65);
map.put("b",66);
}
}
链接散列集
Map<String,Integer> ch = new LinkedHashMap<>(128,0.75F,true){
@Override
protected boolean removeEldestEntry(Map.Entry<String, Integer> eldest) {
return size() > 2;
}
};
ch.put("1",2);
ch.put("2",3);
ch.put("3",4);
Set set = ch.entrySet();
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
轻量级集合包装器
package IteratorStudy;
import java.util.*;
public class StudyBaoZhuangQi {
public static void main(String[] args){
List<Integer> list1 = Collections.nCopies(4,2);
Iterator iterator1 =list1.iterator();
list1.add(2);
while(iterator1.hasNext()){
System.out.println(iterator1.next());
}
}
}
class Tree{
int a = 0;
public Tree(int i){
a = i;
}
}