标签: arraylist

在Java中将数组分配给ArrayList

我想知道是否可以将数组分配给Java中的ArrayList.

java arraylist

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

性能:从HashMap.values()创建一个ArrayList

问题是从HashMap.values()集合创建ArrayList需要多少钱?或者单独创建值Collection?假设Map.size()> 100k.对象也可以一直保存在ArrayList(而不是HashMap)中,这对其他部分有影响(元素的修改,易于按键).ArrayList用于迭代每个第n个元素.(这就是为什么不能直接使用值集合的原因).在迭代期间不进行任何修改.

java collections performance arraylist hashmap

20
推荐指数
3
解决办法
4万
查看次数

Java泛型 - ArrayList初始化

众所周知,arraylist init.应该是这样的

ArrayList<A> a = new ArrayList<A>();
ArrayList<Integer> a = new ArrayList<Number>(); // compile-time error
Run Code Online (Sandbox Code Playgroud)

所以,为什么java允许这些?

1. ArrayList<? extends Object> a1 = new ArrayList<Object>();
2. ArrayList<?> a2 = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

那么,如果他们是正确的,为什么不允许这些呢?

1. a1.add(3);
2. a2.add(3);
Run Code Online (Sandbox Code Playgroud)

编译器消息是:类型ArrayList中的方法add(int,capture#1-of?extends Object)不适用于参数(int)

更一般

  1. a1.add(null e);
  2. a2.add(? e);
Run Code Online (Sandbox Code Playgroud)

我读到了这个,但很高兴收到你的来信.谢谢

另一个有趣的观点是:

 ArrayList<ArrayList<?>> a = new ArrayList<ArrayList<?>>(); // correct
 ArrayList<?> a = new ArrayList<?>(); // wrong. I know it's reason but I have some 
question in my mind that mentioned above 
Run Code Online (Sandbox Code Playgroud)

java generics arraylist

20
推荐指数
2
解决办法
10万
查看次数

在数组中查找大于或等于N的数字

如果我有一个PHP数组:

$array
Run Code Online (Sandbox Code Playgroud)

有价值:

45,41,40,39,37,31
Run Code Online (Sandbox Code Playgroud)

我有一个变量:

$number = 38;
Run Code Online (Sandbox Code Playgroud)

我怎样才能返回值?:

39
Run Code Online (Sandbox Code Playgroud)

因为这是数组中最接近38(向上计数)的值?

问候,

泰勒

php arrays arraylist

20
推荐指数
3
解决办法
2万
查看次数

20
推荐指数
1
解决办法
6万
查看次数

将TreeSet转换为ArrayList?

我有一个包含> 100k对象的TreeSet.我有另一种方法,需要ArrayList作为参数.

有没有办法在不迭代整个TreeSet然后手动将每个对象添加到ArrayList的情况下完成此操作?

java arraylist treeset

20
推荐指数
2
解决办法
3万
查看次数

如何声明2D String arraylist?

我想做这样的事情 ArrayList<String<String>> mylist

我该如何创建它?

如何添加到外部和内部列表

以及如何将内部列表转换为简单的数组列表?

java arrays arraylist

20
推荐指数
2
解决办法
4万
查看次数

如何按升序对文件名进行排序?

我在一个文件夹中有一组文件,所有文件都以类似的名字开头,除了一个.这是一个例子:

Coordinate.txt
Spectrum_1.txt
Spectrum_2.txt
Spectrum_3.txt
.
.
.
Spectrum_11235
Run Code Online (Sandbox Code Playgroud)

我能够列出指定文件夹中的所有文件,但列表不是频谱号的升序.示例:执行程序时,我得到以下结果:

Spectrum_999.txt
Spectrum_9990.txt
Spectrum_9991.txt
Spectrum_9992.txt
Spectrum_9993.txt
Spectrum_9994.txt
Spectrum_9995.txt
Spectrum_9996.txt
Spectrum_9997.txt
Spectrum_9998.txt
Spectrum_9999.txt
Run Code Online (Sandbox Code Playgroud)

但这个顺序不正确.Spectrum_999.txt之后应该有Spectrum_1000.txt文件.有人可以帮忙吗?这是代码:

import java.io.*;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

    public class FileInput {

        public void userInput()
        {
            Scanner scanner = new Scanner( System.in );
            System.out.println("Enter the file path: ");
            String dirPath = scanner.nextLine(); // Takes the directory path as the user input

            File folder = new File(dirPath);
            if(folder.isDirectory())
            {
                File[] fileList = folder.listFiles();

                Arrays.sort(fileList);

                System.out.println("\nTotal number of items present …
Run Code Online (Sandbox Code Playgroud)

java sorting file arraylist

20
推荐指数
3
解决办法
6万
查看次数

修改getter的结果会影响对象本身吗?

我有一个关于在java中使用getter方法的问题.假设我有这个课程:

class Test {
    private ArrayList<String> array = new ArrayList<String>();

    public ArrayList getArray() {
        return this.array;
    }

    public void initArray() {
        array.add("Test 1");
        array.add("Test 2");
    }
}

class Start {
    public static void main(String args[]) {
        initArray();
        getArray().remove(0);
    }
} 
Run Code Online (Sandbox Code Playgroud)

我的问题是:

是否会修改实际的arraylist对象(从中删除"Test 1")?我想我已经在某些地方看过这个,但我认为吸气剂只是提供了该物体的副本.不是对它的引用.如果它确实以这种方式工作(作为参考),那么这也会起作用(类Test的arraylist对象也会被这个改变)吗?:

class Start {
    public static void main(String args[]) {
        initArray();
        ArrayList aVar = getArray();
        aVar.remove(0);
    }
} 
Run Code Online (Sandbox Code Playgroud)

java arraylist getter-setter

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

数组如何在Java中"记住"它们的类型?

请考虑以下代码:

class AA { }

class BB extends AA { }

public class Testing {

    public static void main(String[] args) {
        BB[] arr = new BB[10];
        AA[] arr2 = arr;

        BB b = new BB();
        AA a = new AA();
        arr2[0] = a; // ArrayStoreException at runtime
        arr2[1] = b;

        List<BB> listBB = new ArrayList<>();
        List listAA = listBB;
        listAA.add("hello world.txt");

    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,ArrayStoreException我尝试了arr2[0] = a.这意味着数组会记住它必须接受的类型.但是List不记得他们了.它只是编译并运行良好.在ClassCastException当我检索对象将被抛出BB.

所以问题是:

  1. 数组如何记住它的类型(我知道它被称为"具体化").这究竟是怎么发生的?

  2. 并且为什么只有阵列才能获得这种功率,但是ArrayList …

java arrays generics arraylist

20
推荐指数
2
解决办法
967
查看次数