草庐IT

Arraylist

全部标签

Java ArrayList IndexOf - 查找对象索引

假设我有一个类publicclassData{publicintk;publicintl;publicData(intk,intl){this.k=k;this.l=l;}publicbooleanequals(Datem){if(this.k==m.k&&this.l=m.l)returntrue;returnfalse;}}然后我将一些数据对象添加到ArrayList:ArrayListholder=newArrayList;Dataone=newData(0,0);Datatwo=newData(0,4);Datathree=newData(0,5);为什么indexOf找不到这

java - 如何随机播放 ArrayList 的特定范围?

在Java中,我知道要打乱ArrayList,方法Collections.shuffle()存在,但是这会打乱整个列表。我如何编写如下方法(或者,有人可以编写并展示给我看吗?),如下所示:privateArrayListlist;/***Shufflestheconcentsofthearraylistintherange[start,end],and*doesnotdoanythingtotheotherindiciesofthelist.*/publicvoidshuffleArrayListInTheRange(intstart,intend) 最佳答

java - 通过 Intent 传递对象的 ArrayList - Java (Android)

我正在尝试通过Intent传递对象的ArrayList,但无法使其正常工作。这是我所拥有的:publicclassQuestionViewextendsActivity{//variablesandothermethods...publicvoidendQuiz(){Intentintent=newIntent(QuestionView.this,Results.class);intent.putExtra("correctAnswers",correctAnswers);intent.putExtra("wrongAnswers",wrongAnswers);intent.putPa

java - ClassCastException: java.lang.Object 无法转换为 java.lang.Integer

我的问题的根源是我有一个方法可以处理JDBC查询并在查询后释放所有连接。“ResultSet”被传递回调用方法。我发现我不能简单地将ResultSet传递回调用方法,因为当ResultSet关闭时,任何使用它的尝试都会出现AlreadyClosed错误。因此,在关闭资源之前,我循环遍历ResultSet并将其存储在ArrayList中。因为该方法处理任何查询,所以我不知道返回的是哪种类型。因此ArrayList存储泛型。这适用于一个表中的一个字段..在一个数据库中,即Integer[]字段。我从那里得到的是一个JDBC4Array对象,我费了好大劲才把它变成Integer[]以存储在A

java - 我们需要在 ArrayList 上使用迭代器吗?

昨天,我在回答gettingConcurrentModificationExceptionerrorwhileusingiteratorandremove的问题时我添加了一条通知It'snotagoodideatouseiteratorswhenyouhaveArrayLists.您无需深入理解该问题即可回答该问题。那里,我有两条评论说我错了。我的观点:使用迭代器时代码的可读性要差得多。有可能引发难以调试的ConcurrentModificationException。你能解释一下吗?问题:我们是否需要在ArrayList上使用迭代器?UPD这是关于显式使用Iterator的。

java - ArrayList 的 Set 方法抛出 IndexOutOfBoundsException

在处理ArrayList时,我发现在使用带有initialCapacity的构造函数设置数组的初始大小后,然后使用set()将尽管创建了数组,但抛出异常,但未正确设置大小。使用ensureCapacity()也不起作用,因为它基于elementData数组而不是size。由于ensureCapacity()的静态DEFAULT_CAPACITY还有其他副作用。实现此功能的唯一方法是在使用构造函数后根据需要多次使用add()。请检查下面的代码。importjava.util.ArrayList;importjava.util.List;publicclassTest{publicstat

java - 返回 ArrayList 还是 List?

我正在创建一个供人们使用的库,但为什么我的方法应该返回一个List而不是ArrayList?因为如果用户知道实际类型是ArrayList,他将在循环中使用访问器[]而不是迭代器,但如果他不知道他将使用迭代器。LinkedList同样的问题,如果返回类型是List,他将无法使用正确的访问器。我说得对吗? 最佳答案 返回List将使您的库的用户可以使用任何实现List接口(interface)的东西,而使用ArrayList将强制他们使用ArrayList。如果将来您作为库创建者决定更改您的内部实现,那么最终用户将通过库的通用接口(in

java - 如何创建同步数组列表

我已经创建了这样的同步数组列表importjava.text.SimpleDateFormat;importjava.util.*;classHelloThread{inti=1;ListarrayList;publicvoidgo(){arrayList=Collections.synchronizedList(newArrayList());Threadthread1=newThread(newRunnable(){publicvoidrun(){while(i但是得到这样的异常线程“Thread-1”中的异常java.util.ConcurrentModificationExce

java - 无法从 ArrayList<Parcelable> 转换为 ArrayList<ClSprite>

在我写的一段代码中,我有这一行:AllSprites=(ArrayList)savedInstanceState.getParcelableArrayList("AllSprites");我收到有关来自ArrayList的无效转换的错误至ArrayList.为什么这不合法? 最佳答案 一个简单的解决方案是像这样设置返回的元素类型ArrayListAllSprites=savedInstanceState.getParcelableArrayList("AllSprites") 关于jav

java - 在 Java 中使用 Hashtable、Vector 或 HashMap 或 ArrayList

在Java开发中受到压力的一个模因是总是使用ArrayList而不是Vector。vector已弃用。这可能是正确的,但Vector和Hashtable的优势在于它们是同步的。我正在处理一个面向高度并发的应用程序,使用像Vector这样同步的对象不是有好处吗?看来他们有自己的位置? 最佳答案 Vector和Hashtable的问题在于它们仅在本地同步。它们不会在并发应用程序中中断(如损坏的数据),但是,由于本地同步(例如get已同步,但仅在get返回之前),您无论如何都希望在此类情况下执行自己的同步作为对内容的迭代。现在,即使您的p