Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何设置列表的最大大小_Java_Android_List_Arraylist_Collections - Fatal编程技术网

Java 如何设置列表的最大大小

Java 如何设置列表的最大大小,java,android,list,arraylist,collections,Java,Android,List,Arraylist,Collections,我需要将列表的最大大小设置为10。 例如,像普通列表一样添加10个元素。但是当添加超过10个元素时,我需要替换它们,而不是添加 Element 1 Element 2 Element 3 Element 4 Element 5 Element 6 Element 7 Element 8 Element 9 Element 10 现在,在添加元素11时,应该如下所示: Element 11 Element 2 Element 3 Element 4 Element 5 Element 6 Ele

我需要将列表的最大大小设置为10。 例如,像普通列表一样添加10个元素。但是当添加超过10个元素时,我需要替换它们,而不是添加

Element 1
Element 2
Element 3
Element 4
Element 5
Element 6
Element 7
Element 8
Element 9
Element 10
现在,在添加元素11时,应该如下所示:

Element 11
Element 2
Element 3
Element 4
Element 5
Element 6
Element 7
Element 8
Element 9
Element 10
同样,在将另一个元素添加到列表后:

Element 12
Element 11
Element 3
Element 4
Element 5
Element 6
Element 7
Element 8
Element 9
Element 10
我怎样才能做到这一点
谢谢

您可以使用“Deque”(双端队列)而不是列表。这样,FIFO逻辑由数据结构为您处理

我没有在Java中使用它们,但它们似乎存在于Java6+中

另一个选项:在这里,您可以看到一个循环的ifoqueue,它似乎做了您想要做的事情。

您可以使用“Deque”(双端队列)而不是列表。这样,FIFO逻辑由数据结构为您处理

我没有在Java中使用它们,但它们似乎存在于Java6+中


另一个选项:在这里,您可以看到一个循环的ifoqueue,它似乎可以做您想要做的事情。

在列表周围做一个自定义包装怎么样:

Kotlin

class FiniteList<T>(private val size: Int) {
    private val list = mutableListOf<T>()

    fun add(item: T) {
        
        if (list.size < size) {
            list.add(item)
        } else {
            list.add(0, item)
            list.removeLast()
        }
        
    }
    
    //implement other methods

}
val finiteList = FiniteList<String>(10)
finiteList.add("Hello World!")
...
class FiniteList(私有值大小:Int){
private val list=mutableListOf()
趣味添加(项目:T){
如果(list.size
Java:

public class FiniteList<T> {
    private List<T> list;
    private int collectionSize;

    public FiniteListJava(int size) {
        collectionSize = size;
        new ArrayList<>(size);
    }

    void add(T item) {
        if (collectionSize > list.size()) {
            list.add(item);
        } else {
            list.add(0, item);
            list.remove(list.size() - 1);
        }
    }

    //implement other methods

}
公共类FiniteList{
私人名单;
私人收藏;
公共FiniteListJava(整数大小){
集合大小=大小;
新ArrayList(大小);
}
无效添加(T项){
如果(collectionSize>list.size()){
列表。添加(项目);
}否则{
列表。添加(0,项);
list.remove(list.size()-1);
}
}
//实施其他方法
}
用法

class FiniteList<T>(private val size: Int) {
    private val list = mutableListOf<T>()

    fun add(item: T) {
        
        if (list.size < size) {
            list.add(item)
        } else {
            list.add(0, item)
            list.removeLast()
        }
        
    }
    
    //implement other methods

}
val finiteList = FiniteList<String>(10)
finiteList.add("Hello World!")
...
val finiteList=finiteList(10)
添加(“你好,世界!”)
...

围绕列表制作一个自定义包装怎么样:

Kotlin

class FiniteList<T>(private val size: Int) {
    private val list = mutableListOf<T>()

    fun add(item: T) {
        
        if (list.size < size) {
            list.add(item)
        } else {
            list.add(0, item)
            list.removeLast()
        }
        
    }
    
    //implement other methods

}
val finiteList = FiniteList<String>(10)
finiteList.add("Hello World!")
...
class FiniteList(私有值大小:Int){
private val list=mutableListOf()
趣味添加(项目:T){
如果(list.size
Java:

public class FiniteList<T> {
    private List<T> list;
    private int collectionSize;

    public FiniteListJava(int size) {
        collectionSize = size;
        new ArrayList<>(size);
    }

    void add(T item) {
        if (collectionSize > list.size()) {
            list.add(item);
        } else {
            list.add(0, item);
            list.remove(list.size() - 1);
        }
    }

    //implement other methods

}
公共类FiniteList{
私人名单;
私人收藏;
公共FiniteListJava(整数大小){
集合大小=大小;
新ArrayList(大小);
}
无效添加(T项){
如果(collectionSize>list.size()){
列表。添加(项目);
}否则{
列表。添加(0,项);
list.remove(list.size()-1);
}
}
//实施其他方法
}
用法

class FiniteList<T>(private val size: Int) {
    private val list = mutableListOf<T>()

    fun add(item: T) {
        
        if (list.size < size) {
            list.add(item)
        } else {
            list.add(0, item)
            list.removeLast()
        }
        
    }
    
    //implement other methods

}
val finiteList = FiniteList<String>(10)
finiteList.add("Hello World!")
...
val finiteList=finiteList(10)
添加(“你好,世界!”)
...