Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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
将对象添加到arraylist唯一顺序java_Java_Arraylist_Add - Fatal编程技术网

将对象添加到arraylist唯一顺序java

将对象添加到arraylist唯一顺序java,java,arraylist,add,Java,Arraylist,Add,我试图将对象添加到arraylist中,使其看起来像这样 首先添加 1 第二次添加 12 第三次添加 3 1 2 第四次添加 3 1 2 4 第五次添加 531234 这就是我目前所拥有的 public deckOfCards() { arr = new ArrayList<Card>(); } 这是我的测试 @Test public void addTest() { DeckOfCards<Cards> bb= new DecckOfCards<

我试图将对象添加到arraylist中,使其看起来像这样

首先添加
1

第二次添加
12

第三次添加
3 1 2

第四次添加
3 1 2 4

第五次添加
531234

这就是我目前所拥有的

public deckOfCards() {
    arr = new ArrayList<Card>(); 
}
这是我的测试

@Test
public void addTest() {
    DeckOfCards<Cards> bb= new DecckOfCards<Cards>();
    bb.add(new CardType("one", 1));
    bb.add(new CardType("two", 2));
    bb.add(new CardType("three", 3));
    bb.add(new CardType("four", 4));
    bb.add(new CardType("five", 5));


}
@测试
public void addTest(){
DeckOfCards bb=新的DeckOfCards();
bb.增加(新卡片类型(“一”,1));
bb.增加(新卡片类型(“两”,2));
bb.增加(新卡片类型(“三”,3));
bb.增加(新卡片类型(“四”,4));
bb.增加(新卡片类型(“五”,5));
}

根据您的模式,看起来您正在交替插入列表的开头和结尾。如果是这样,逻辑很简单:

public void add(T objToAdd) {
    if (arr.size() % 2 == 0) {
        arr.add(0, objToAdd);
    } else {
        arr.add(objToAdd);
    }
}

根据您的模式,看起来您正在交替插入列表的开头和结尾。如果是这样,逻辑很简单:

public void add(T objToAdd) {
    if (arr.size() % 2 == 0) {
        arr.add(0, objToAdd);
    } else {
        arr.add(objToAdd);
    }
}

看看你的例子,如果一个元素的值是偶数的话,看起来你想在它的末尾添加一个元素,如果它的值是奇数的话,在它的开头添加一个元素

ArrayList<BattleFish> list = new ArrayList<>();

public void add(String name, int id)
{
    if(id % 2 == 0) //if the result of his division by 2 is 0, it's even
        list.add(new BattleFish(name, id));
    else
        list.add(0, new BattleFish(name, id));
}
ArrayList list=new ArrayList();
public void add(字符串名,int-id)
{
if(id%2==0)//如果他除以2的结果是0,则为偶数
添加(新的斗鱼(名称、id));
其他的
列表。添加(0,新战列鱼(名称、id));
}

希望有帮助。您还可以使用集合的大小来检查是偶数还是奇数,并将集合的上一个大小设置为id。这将使您可以忽略ID的管理,只从字符串中添加元素。

看看您的示例,如果元素的值为偶数,您似乎在尝试在末尾添加元素;如果元素的值为奇数,则在开头添加元素

ArrayList<BattleFish> list = new ArrayList<>();

public void add(String name, int id)
{
    if(id % 2 == 0) //if the result of his division by 2 is 0, it's even
        list.add(new BattleFish(name, id));
    else
        list.add(0, new BattleFish(name, id));
}
ArrayList list=new ArrayList();
public void add(字符串名,int-id)
{
if(id%2==0)//如果他除以2的结果是0,则为偶数
添加(新的斗鱼(名称、id));
其他的
列表。添加(0,新战列鱼(名称、id));
}

希望有帮助。您还可以使用集合的大小来检查是偶数还是奇数,并将集合的上一个大小设置为id。这将允许您忽略ID的管理,只从字符串中添加元素。

如果需要添加到列表中的数字是偶数,则它将插入到列表的末尾,如果不是开始

private  void myAdd2(int i) {
    if (i % 2 == 0) {
        lis.add(i);
    } else {
        lis.add(0, i);
    }
}

如果需要添加到列表中的数字为偶数,则该数字将插入列表的末尾,如果不是在开始处

private  void myAdd2(int i) {
    if (i % 2 == 0) {
        lis.add(i);
    } else {
        lis.add(0, i);
    }
}

你的问题是什么?另外,你还没有解释你想做什么。你的问题是什么?另外,你还没有解释你想做什么。非常感谢你,我现在明白了。。。那么在这行中,零在单词中是什么意思?arr.add(0,对象加载)@它的意思是在索引0处插入一项。有关更多信息,请参阅。非常感谢,我现在明白了。。。那么在这行中,零在单词中是什么意思?arr.add(0,对象加载)@它的意思是在索引0处插入一项。有关更多信息,请参阅。