新创建的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打印出来的两个看起来一样.
为了保持一致性,我觉得,两个中的任何一个都会很好:
ArrayList它使它看起来相同.ArrayList不应该允许打印出新创建的,它应该只打印NULL或其他东西,而不是[]像现在显示的那样显示根据以下程序,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) 我如何添加一堆类ArrayList<MyBaseClass>,然后从中检索一个类(从中派生,但不是MyBaseClass从中),ArrayList并使用它来生成检索到的实际类的新对象(即不是MyBaseClass因为它是抽象的)
所有需要添加的类都派生自相同的抽象基类Class(MyBaseClass)
我真的想不出另一种方法来实现我想做的事情,所以希望这是可能的......?
我有两个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递归实现,如果列表中的所有元素都是单个数字(即<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)
}
有什么建议吗?提前致谢.
我提示用户输入他们的名字以及在我的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的初学者,我不知道我的代码有什么问题.非常感谢您的协助.
此代码应检查数组中的任何元素是否小于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) 我有一个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因为名称尚不存在.
我必须以这种方式解决它,因为实现了返回名称的方法.
提前致谢.
我试图在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) 我已经读过,当我们删除一个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) arraylist ×10
java ×10
arrays ×3
class ×1
factory ×1
file ×1
if-statement ×1
java-8 ×1
linked-list ×1
recursion ×1
tostring ×1
try-catch ×1
whitespace ×1