标签: arraylist

包含和不添加空字符串的ArrayList行为

新创建的ArrayList不添加任何元素看起来就像是ArrayList添加了一个空字符串.

这让我觉得新创建的ArrayList即使不添加任何元素也会在其中添加默认的空string或元素.

package cracking;

import java.util.ArrayList;

public class Ask
{
    public static void main(String[] args)
    {
        ArrayList<String> al = new ArrayList<String>();
        System.out.println(al.size());//0
        System.out.println(al);//[]

        al.add("");
        System.out.println(al.size());//1
        System.out.println(al);//[]
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,ArrayList两个场景中的大小之间的差异使它们不一致,特别是因为ArrayList打印出来的两个看起来一样.

为了保持一致性,我觉得,两个中的任何一个都会很好:

  1. 刚刚创建的ArrayList的大小,即使在向其添加任何元素之前,应该显示1暗示空字符串或元素,因为即使添加到ArrayList它使它看起来相同.
  2. ArrayList不应该允许打印出新创建的,它应该只打印NULL或其他东西,而不是[]像现在显示的那样显示

java whitespace arraylist data-structures

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

根据此程序,ArrayList在插入和删除中间元素时比LInkedList更快

根据以下程序,ArrayList中的插入和删除比LinkedList快.请向我提供一个事实的证据,即LinkedList中的插入和删除应该比ArrayList更快.

public static void main(String args[]) {
    ArrayList al = new ArrayList();
    LinkedList ll = new LinkedList();
    int max_value = 10000000;

    // --------------------------------ArrayList-----------------------------------

    for (int i = 0; i <= max_value; i++) {
        ll.add(Integer.valueOf(i));
        al.add(Integer.valueOf(i));
    }

    int middle = max_value / 2;

    long d1 = System.currentTimeMillis();
    al.add(middle,Integer.valueOf(5));
    al.add(middle,Integer.valueOf(5));
    al.remove(middle);
    al.add(middle,Integer.valueOf(5));
    al.remove(middle);
    al.add(middle,Integer.valueOf(5));
    al.remove(middle);
    al.add(middle,Integer.valueOf(5));
    al.remove(middle);
    al.add(middle,Integer.valueOf(5));

    long d2 = System.currentTimeMillis();
    System.out.println("Time Taken in ArrayList:  " + (d2 - d1));

    // --------------------------------LinkedList-----------------------------------

    long d3 = System.currentTimeMillis();
    ll.add(middle,Integer.valueOf(5));
    ll.add(middle,Integer.valueOf(5));
    ll.remove(middle);
    ll.add(middle,Integer.valueOf(5));
    ll.remove(middle); …
Run Code Online (Sandbox Code Playgroud)

java linked-list arraylist

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

如何制作类的ArrayList?

我如何添加一堆类ArrayList<MyBaseClass>,然后从中检索一个类(从中派生,但不是MyBaseClass从中),ArrayList并使用它来生成检索到的实际类的新对象(即不是MyBaseClass因为它是抽象的)

所有需要添加的类都派生自相同的抽象基类Class(MyBaseClass)

我真的想不出另一种方法来实现我想做的事情,所以希望这是可能的......?

java factory class arraylist java-8

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

如何使两个ArrayList有单独的变化?

我有两个ArrayLists,

ArrayList<Item> array1 = new ArrayList<>();
// and
ArrayList<Item> array2 = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

在Item类中我也有默认值 boolean check = false;

我检查,在清理所有内容之前array2.clear(),需要从array1添加到array2:

array2.clear();
for (Item i : array1) {
        if (.....) {
                array2.add(i);
        }
}
Run Code Online (Sandbox Code Playgroud)

如果在array2 boolean check中更改false为true,则在array1中也会更改它.如何将它们分开,以便下次向array2添加元素时,布尔检查不会复制为true?

java arraylist

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

Arraylist和递归实现

我试图概述函数的java递归实现,如果列表中的所有元素都是单个数字(即<10),则返回true.可以假设列表只包含正数.

这是我尝试过的,但即使列表中有2位数字,它也会保持返回true.

import java.util.*;

公共课Q3b {

static boolean allSingleDigit(ArrayList list) {
    if (list.size() == 0)
        return false;
    else {
        int first = (Integer) list.get(0);
        list.remove(0);

        if (first < 10)
            return true;
        else
            return allSingleDigit(list);
    }

}

public static void main(String[] args) {
    ArrayList<Integer> list = new ArrayList();
    Collections.addAll(list, 4, 25, 3, 2, 3, 1, 3);
    boolean res1 = allSingleDigit(new ArrayList(list));
    System.out.println("List Contains all single number" + res1);
}
Run Code Online (Sandbox Code Playgroud)

}

有什么建议吗?提前致谢.

java arrays recursion arraylist

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

添加到ArrayList问题

我提示用户输入他们的名字以及在我的ArrayList中添加ai播放器.不幸的是,我在下面的代码中的"添加"字样中收到"找不到符号"错误.我假设这是一些不进口东西的东西,我现在似乎无法弄明白.

package connectfour;

import java.util.ArrayList;
import javax.swing.*;
import userInterface.Connect4Ui;
import core.Player;
import core.HumanPlayer;
import core.AiPlayer;


/**
 *
 * @author j_ortiz9688
 */

// connect 4 main 
public class ConnectFour {

    private static ArrayList<Player>player;
    private static Connect4Ui frame; 

    public static void makePlayers(){

        player = new ArrayList<Player>();

        String name = JOptionPane.showInputDialog("Enter your name");

        HumanPlayer player = new HumanPlayer(name);


        AiPlayer ai = new AiPlayer("Computer", 0); 

        player.add(player); 
        player.add(ai);

    }



    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        frame …
Run Code Online (Sandbox Code Playgroud)

java arraylist

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

如果声明不工作.我的代码出了什么问题?

我是java的初学者,我不知道我的代码有什么问题.非常感谢您的协助.

此代码应检查数组中的任何元素是否小于tc,然后应增加其值.

int pay1  = 190;
int pay2  = 1175;
int pay3  = 455;
int pay4  = 345;
int tc    = 400;
int[] pay = { pay1, pay2, pay3, pay4 };

for(int i = 0; i < pay.length; i++)
{
    if(pay[i] < tc)
    {
        pay[i] = pay[i]++;
        System.out.println(pay[i]+",");
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays if-statement arraylist

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

关于ArrayList中的toString()和内存引用

我有一个class它有一个ArrayList在它与它的逻辑,我们称之为胃.

来自的两个实例class Meal和Drinks正在添加到ArrayList我的中的实例Main class.这两个类有一个覆盖方法返回getName()方法.

但是在我执行所有操作class的ArrayList地方,我不能使用foreach循环来使用对象的toString()方法ArrayList.

public void amountOfElements() {
    for (Digestion d : stomach) {
        //prints the hash code. I can't call the corresponding toString() equivalent in here.
         System.out.println(d);
    }
Run Code Online (Sandbox Code Playgroud)

我尝试Stomach class在我拥有的地方创建一个属性ArrayList并从中调用方法,但我得到了一个NullPointerException因为名称尚不存在.

我必须以这种方式解决它,因为实现了返回名称的方法.

提前致谢.

java arraylist tostring

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

FileNotFound尝试在1,000,000英寸的文本文件中查找重击手

我试图在1,000,000英寸的文本文件中找到重击手.

出于某种原因,当我运行它时,永远不会找到该文件.

我不明白我做错了什么,所以任何帮助都是最好的.

我相信我的整个程序的代码是正确的,除了它找不到文件的事实.

public class HH1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int k = 100;
        int count = 0;
        ArrayList<Integer> intList = new ArrayList<Integer>();
        File file = null;
        Scanner s = null;

        try {
            file = new File("IT179ProjectData.txt");
            s = new Scanner(file);
        } catch (Exception e) {
            System.out.println("Error");
            System.exit(0);
        }

        //Taking values from text file and inserting into an array list 
        while (s.hasNext()) {
            intList.add(s.nextInt());

        } …
Run Code Online (Sandbox Code Playgroud)

java arrays file arraylist try-catch

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

arraylist的remove()方法导致arraylist的缩小

我已经读过,当我们删除一个Objectfrom时ArrayList,它的大小不会减少.

我尝试了下面的代码来测试它,但发现大小减少了.任何人都可以纠正或向我解释这个吗?

package collections;

import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {  
public static void main(String[] args) {  
    //Creating list of Books  
    List<Book> list=new ArrayList<Book>();  
    //Creating Books  
    Book b1=new Book(101,"Let us C","Yashwant Kanetkar","BPB",8);  
    Book b2=new Book(102,"Data Communications & Networking","Forouzan","Mc Graw Hill",4);  
    Book b3=new Book(103,"Operating System","Galvin","Wiley",6);  
    //Adding Books to list  
    list.clear();
    list.add(b1);  
    list.add(b2);  
    list.add(b3); 
    list.contains(b3);
    int size= list.size();
    System.out.println(size);
    list.remove(b3);
    int size1= list.size();
    System.out.println(size1);      
}  
}  
Run Code Online (Sandbox Code Playgroud)

java arraylist

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