我正在学习Java,并且遇到了ArrayList和RandomGenerator的问题。 我有一个名为catalogue的对象,其中有一个名为item另一个类创build的对象的数组列表。 我需要在catalogue中的一个方法返回列表中的一个item对象的所有信息。 该item需要随机select。 我已经使用了随机生成器util,但我无法得到它的工作。 我搞不清楚我做错了什么。 import java.util.ArrayList; import java.util.Random; public class Catalogue { private Random randomGenerator; private ArrayList<Item> catalogue; public Catalogue () { catalogue = new ArrayList<Item>(); } public Item anyItem() { int index = randomGenerator.nextInt(catalogue.size()); return catalogue.get(index); System.out.println("Managers choice this week" + anyItem + "our recommendation to you"); } 当我尝试编译时,我得到一个错误指向System.out.println行说'找不到符号variablesanyItem' 任何帮助非常感谢:)谢谢
据我所知,在Java 8之前, ArrayList的默认容量是10。 令人惊讶的是,对默认(void)构造函数的评论仍然说: Constructs an empty list with an initial capacity of ten. 从ArrayList.java : /** * Shared empty array instance used for default sized empty instances. We * distinguish this from EMPTY_ELEMENTDATA to know how much to inflate when * first element is added. */ private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; … […]
我有一个Java对象的ArrayList。 对象有四个字段,其中两个我会用来考虑对象等于另一个。 我正在寻找最有效的方式,给这两个领域,看看数组是否包含该对象。 扳手是这些类是基于XSD对象生成的,所以我不能修改这些类来覆盖.equals 。 有什么更好的方法比循环和手动比较每个对象的两个领域,然后打破时发现? 这似乎很混乱,寻找更好的方法。 编辑: ArrayList来自一个解组到对象中的SOAP响应。
我还是相当新的Java编程,我想通过使用此代码更新数组列表的现有值 public static void main(String[] args){ List<String> list = new ArrayList<String>(); list.add( "Zero" ); list.add( "One" ); list.add( "Two" ); list.add( "Three" ); list.add( 2, "New" ); // add at 2nd index System.out.println(list);} 我想打印New而不是Tow但我得到了[Zero, One, New, Two, Three]结果,我仍然有“两个”。 我想打印[Zero, One, New, Three] 。 我该怎么做呢? 谢谢..
我想知道是否安全/build议从ArrayList转换为数组? 我有一个每行一个string的文本文件: 1236 1233 4566 4568 …. 我想将它们读入数组列表中,然后将其转换为数组。 这样做是合理的还是合法的? 谢谢
我有这样的代码: String[] lineElements; . . . try { using (StreamReader sr = new StreamReader("TestFile.txt")) { String line; while ((line = sr.ReadLine()) != null) { lineElements = line.Split(','); . . . 但后来认为我应该也可以去一个List。 但是这个代码: List<String> listStrLineElements; . . . try { using (StreamReader sr = new StreamReader("TestFile.txt")) { String line; while ((line = sr.ReadLine()) != null) { […]
在CodeReview上,我发布了一段代码,并要求提供改进的提示。 我得到的是使用布尔方法来检查一个ArrayList是否有偶数个索引(这是必需的)。 这是build议的代码: private static boolean isEven(int number) { return (number & 1) == 0; } 由于我已经向那个特定的用户求助了很多帮助,所以我决定是时候纠缠这个SO社区了! 我真的不明白这是如何工作的。 该方法被调用并将ArrayList的大小作为参数(即ArrayList有十个元素,数字= 10)。 我知道一个人运行数字和1的比较,但之后我迷路了。 我读它的方式,它是说如果number == 0和1 == 0返回true。 我知道第一个不是真的,后者显然没有意义。 有人能帮我吗? 编辑:我应该补充说,代码的工作,以防万一有人想知道。
我有两个答案(自制类)的ArrayList。 我想比较两个列表,看他们是否包含相同的内容,但没有订单的问题。 例: //These should be equal. ArrayList<String> listA = {"a", "b", "c"} ArrayList<String> listB = {"b", "c", "a"} List.equals指出,如果两个列表包含相同的大小,内容和元素顺序,则它们是相等的。 我想要同样的事情,但是没有命令。 有一个简单的方法来做到这一点? 或者我将需要做一个嵌套的循环,并手动检查两个列表的每个索引? 注:我不能将它们从ArrayList更改为另一种types的列表,他们需要保持这一点。
java.utils包中的Collections.list()方法返回一个ArrayList<T>而不是List<T>是否有很好的理由? 显然ArrayList是一个List ,但我的印象是,返回接口types而不是实现types通常是好的做法。
可能重复: 在Java中给ArrayList分配一个数组 我需要将一个String[]转换为一个ArrayList<String> ,我不知道如何 File dir = new File(Environment.getExternalStorageDirectory() + "/dir/"); String[] filesOrig = dir.list(); 基本上我想将文件转换成一个ArrayList 。