标签: arraylist

Java Streams方法不影响我的ArrayList?

我正在尝试在名为的ArrayList上执行以下流操作parts:

parts
    .stream()
    .map(t -> t.toLowerCase())
    .distinct()
    .sorted()
    .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

其中parts包含这样的字符串:

Adventures
in
Disneyland
Two
blondes
were
going
to
Disneyland
....
Run Code Online (Sandbox Code Playgroud)

除了查看调试器之外,parts根本没有改变.不确定我是否错过了这个过程的一些步骤?

java arraylist java-stream

1
推荐指数
1
解决办法
62
查看次数

Java:从ArrayList获取所有第一个条目

我有一个包含用户信息数组的ArrayList(~900条目):

[swaschit, Sophia Waschitz, Dormant, Inactive, 1/1/2018]
[kolanday, Kyle Olanday, Dormant, Inactive, 1/1/2018]
[npowers, Neil Powers, Assigned, Active, 2/11/2018]
Run Code Online (Sandbox Code Playgroud)

我想从这个列表中生成一个只包含每个对象的第一个元素的数组:

[swaschit, kolanday, npowers, ...]
Run Code Online (Sandbox Code Playgroud)

这样做最有效的方法是什么?

java arrays arraylist

1
推荐指数
1
解决办法
106
查看次数

在捕食者猎物程序中找不到我认为是内存泄漏的东西

我的程序有六个类,我相信我的大多数代码是正确的,但是当我运行它时,没有打印语句发生,相反,该程序将永远继续运行而没有输出。如果我为更大的数字(100+)运行模拟,则会导致大量的内存泄漏。我似乎找不到问题所在,但是代码无法正确执行。

****(我在哪里执行程序以及我认为错误在哪里)

import java.util.*;
public class {
    public static void main(String[]args){
        SubSim simulate=new SubSim();
        ArrayList<Wolf>WolfArrayList=new ArrayList<>();
        ArrayList<Moose>MooseArrayList=new ArrayList<>();
        ArrayList<Grass>GrassArrayList=new ArrayList<>();
        for (int i=0;i<simulate.getInitialWolves();i++){
            WolfArrayList.add(new Wolf(simulate));
        }
        for (int i=0;i<simulate.getInitialMoose();i++){
            MooseArrayList.add(new Moose(simulate));
        }
        for (int i=0;i<simulate.getMaxX();i++){
            for (int j=0;i<simulate.getMaxY();j++){
                int grassroll=(int)(Math.random()*5);
                if (grassroll==1||grassroll==2||grassroll==3||grassroll==4){
                    GrassArrayList.add(new Grass(simulate,i,j,2));
                }
                else{
                    GrassArrayList.add(new Grass(simulate,i,j,0));
                }
            }
        }
        simulate.setGrassArrayList(GrassArrayList);
        simulate.setMooseArrayList(MooseArrayList);
        simulate.setWolfArrayList(WolfArrayList);
        System.out.println("Ticks        Wolves          Moose");
        for(int i=1;i<=20;i++){
            System.out.printf("%d           %d          %d\n",(i-1),simulate.getWolfPop(),simulate.getMoosePop());
            simulate.run();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

**课**

    import java.util.*;
public class  extends Simulator{
//making private variables
private ArrayList<Grass> GrassArrayList;
private …
Run Code Online (Sandbox Code Playgroud)

java memory-leaks arraylist

1
推荐指数
1
解决办法
59
查看次数

从数组列表中删除元素的最有效方法?

我正在研究OOP,并且遇到了数组列表。我想知道remove()函数的实际工作原理,以及最有效的使用方法。


删除所有“ BB”的第一种方法

public class ArrayListTest {
    public static void main(String args[]){
        ArrayList<String> Alist = new ArrayList<String>();
        Alist.add("AA");
        Alist.add("BB");
        Alist.add("AA");
        Alist.add("AA");
        Alist.add("AA");
        Alist.add("BB");
        System.out.println("Original ArrayList : " + Alist);
        int n = 0 ;
        for (int i = 0; i < Alist.size(); i++){
            n++;
            Alist.remove("BB");
        }
        System.out.println(n);
        System.out.println("Modified ArrayList : " + Alist);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出

run:
Original ArrayList : [AA, BB, AA, AA, AA, BB]
4
Modified ArrayList : [AA, AA, AA, AA]
BUILD SUCCESSFUL (total time: 0 seconds) …
Run Code Online (Sandbox Code Playgroud)

java oop performance arraylist

1
推荐指数
2
解决办法
99
查看次数

ArrayList不会存储用户输入的实例

我正在尝试使用用户输入将元素添加到ArrayList中。问题是当我尝试添加一些东西并要求将其列出时,它没有显示在列表中。

我以为这是read方法的问题,但是我不确定它是否有任何问题。另一件事是事实,添加元素的方法不在循环中,我尝试使用循环,但仍然无法正常工作。有与具有对参数的构造一部电影类title,year,genre,price和toString方法。

预期结果:添加电影后,它应列出添加的电影。实际结果:add方法要求输入,但是当我使用list方法时,它不会列出我添加的内容。

这是完整的Kiosk和Catalog类,用于更多上下文。

java arraylist java.util.scanner

1
推荐指数
1
解决办法
70
查看次数

删除ArrayList中的重复对象

所有,

我有一个对象

public class Device {

     public String getUserId() {
        return userId;
    }
    public String getDeviceId() {
        return deviceId;
    }

}
Run Code Online (Sandbox Code Playgroud)

我得到了所有的价值清单

     List<Device> uList = getList();
Run Code Online (Sandbox Code Playgroud)

在列表中,我有一个基于userId的重复值现在我要获取“唯一”列表,该列表将删除userId的重复项

我要如何实现它,我是Java的新手

java arraylist comparator

1
推荐指数
1
解决办法
55
查看次数

有没有办法在排序的集合或数组之间放置换行符?

我正在使用sort方法,并且我正在尝试,似乎找不到解决方案。谁能给我一个建议?输出总是看起来像一个数组。可以在字符串或整数之间使用其他格式(如换行符)吗?有什么办法可以处理输出?

List<String> list = new ArrayList<>(set); 
Collections.sort(list); 

out.println("Number of Words: " + list.size());
out.println("Sorted Order: ");
out.println(list);
Run Code Online (Sandbox Code Playgroud)

我的输出

Sorted Order:
[APPLE, BANANA, CHAIR, DOOR]
Run Code Online (Sandbox Code Playgroud)

预期产量

Sorted Order:
APPLE
BANANA
CHAIR
DOOR
Run Code Online (Sandbox Code Playgroud)

java arrays arraylist

1
推荐指数
1
解决办法
54
查看次数

什么是基于一个列数据对ArrayList()进行群集的更干净的方法?

说我有以下清单

 full_list

 ID     NAME
 1      Apple
 1      Banana
 2      Carrot
 1      Mango
 2      Spinach
 3      BMW
 3      Opal
Run Code Online (Sandbox Code Playgroud)

有了这个列表,我想根据ID如下所示的列创建分组列表

 fruits_list              veggies_list               cars_list
 ID      NAME             ID      NAME              ID     NAME
 1       Apple            2       Carrot            3      BMW
 1       Banana           2       Spinach           3      Opal
 1       Mango
Run Code Online (Sandbox Code Playgroud)

我正在尝试用Arraylist<ArrayList<CustomObject>>。但这增加了代码的复杂性。我做错了吗?有没有更清洁的方法可以做到这一点?

PS:数据输入不固定。我无法明确定义带有条件的列表(即if(id == 1),if(id == 2)等)。这应根据传入数据动态完成。

java arraylist

1
推荐指数
1
解决办法
95
查看次数

为什么我可以将比较器对象传递给sort方法?

从我所看到的所有排序方法示例中,我从未遇到过传递比较器定义的示例。如果比较器被设计为返回负数,正数或0来对对象进行排序,那么排序方法对该信息有何作用?排序方法如何从比较器定义中获取有意义的信息并执行其操作?

这是有问题的排序方法:

    public void sort() {
        library.sort(new BookComparator());
    }
Run Code Online (Sandbox Code Playgroud)

这是整个Comparator类:

import java.util.Comparator;

public class BookComparator implements Comparator<Book> {
    public int compare(Book a, Book b) {
        if(a == null || b == null) {
            throw new NullPointerException();
        }

        int result = 0 ;

        if(a.getAuthor() == null) {
            if(b.getAuthor() != null) {
                result = -1;
            }
        } else if(b.getAuthor() == null) {
            result = 1;
        } else {
            result = a.getAuthor().compareTo(b.getAuthor());
        }
        if(result !=0) {
            return result;
        }

        if(a.getTitle() == null) { …
Run Code Online (Sandbox Code Playgroud)

java sorting arraylist compareto

1
推荐指数
1
解决办法
56
查看次数

Java无法调用addAll()将子类类型的arraylist添加到类型&lt;?扩展baseClass&gt;

我有两个类,一个超类和一个继承该超类的子类。我想将两个数组列表合并为一个。这两个数组列表具有不同的类型。一个是超类列表,另一个是子类。

这是我的三个列表:

public ArrayList<subClass> list1;
public ArrayList<superClass> list2;

public ArrayList<? extends superClass> combined; // so this accepts all subclasses as well
Run Code Online (Sandbox Code Playgroud)

然后,我试图完成以下任务:

combined.addAll(list1);
combined.addAll(list2);
Run Code Online (Sandbox Code Playgroud)

编译器说:

addAll in arrayList cannot be applied to list1
addAll in arrayList cannot be applied to list2
Run Code Online (Sandbox Code Playgroud)

但是:combined = list1;没有错误。使用等号时,我无法将两个列表合并。

我该如何实现?

java inheritance arraylist

1
推荐指数
1
解决办法
38
查看次数