1. 程式人生 > >基於java自帶連結串列結構實現迴圈連結串列

基於java自帶連結串列結構實現迴圈連結串列

背景

有些場景下,需要迴圈連結串列,如某些狀態是從一個到下一個,最後再回到開始。此種情況下,可以採用迴圈連結串列來實現。

程式碼

package com.cxyzy.tencentfacerec;

import java.util.Iterator;
import java.util.concurrent.ConcurrentLinkedQueue;

/**
 * 迴圈連結串列
 * @author 程式園中猿 
 */
public class CircularLinkedList<T> {
    private ConcurrentLinkedQueue<T> list;
    private Iterator<T> iterator;

    public CircularLinkedList() {
        list = new ConcurrentLinkedQueue<>();
        iterator = list.iterator();
    }

    public void add(T t) {
        list.add(t);
    }

    public T next() {
        if (!iterator.hasNext()) {
            iterator = list.iterator();
        }
        return iterator.next();
    }

}