java里面有没有这样一种数据结构:后进来的把先进来的挤出去,整个数据结构条目的个数可以维持在100

再具体叙述一下我的想法:
这个数据结构如果条目不足100,后进先出;如果条目超过一百条了,后面进来的条目会把前面进来的条目挤掉(比如第101条条目进入之后,第一条条目会被删除,第二条条目就会变成第一条)。
请问有没有这样的一种数据结构呢?

队列就很符合你的这个设计思路,需要你自己去实现一个固定长度的队列,在达到这个固定长度的时候,先出队,再入队。

具体参考:http://www.2cto.com/kf/201511/449556.html

循环队列
可以实现………

定义一个100长度的数组
定义一个变量i
每次添加数据i+1
如果i>100,i=0

我想队列应该很符合你的要求。就是兄弟你好像描述的不太清楚,后来的把前面的挤出去,这应该是一个先进先出的概念吧。数据结构里面的队列就是和堆栈是相反的:堆栈是先进后出,那么队列就是先进先出。

List remove add

1、这种数据结构是没有现成的
2、完全可以已栈为基础实现题主说的这种结构

队列符合,只要制定它的长度为100,超过就挤出

public static String[] stack = new String[10];
    public static String[] $stack = new String[10];
    public static void put(String item) {
        int len = stack.length;
        System.arraycopy(stack,0,$stack,0,stack.length);
        for (int i = 1 ; i < len; i++) {
            stack[i] = $stack[i-1];
        }
        stack[0] = item;
    } 

我测试定义了10个长度,你可以用100个试一下

自己定义一种队列,实现你的思路

你说的其实就是队列 设置一个长度为100的队列就OK

队列,这样的数据结构一般的编程语言都可以实现的,百度一下很多示例的

数据结构里面的队列就是和堆栈是相反的:堆栈是先进后出,那么队列就是先进先出。

只是按照你表述的来看,这个“数据结构”根本就不会超过100,永远都是进来一个,立马出去,死循环。。

如果你实际上是判断了进来的数据,是否满足当前要存储的条件,再存储的话,那么有两种方法:
1.用队列queue——初始化队列长度为100,条件判断完后,再把数据放进来(不可以先放进来,判断不满足后再移出去,队列只允许数据从一侧进,另一侧出),满100后,会自动挤掉最先进入的数据;
2.用list(效率低,不推荐)——条件判断完,把数据放进来(可以先放进来,判断不满足后再移出去),每次操作完判断当前list的长度,不够100继续下一步;满100后,list.remove(0),在add当前数据,依次循环。