Tag: arraylist

java ArrayList的时间复杂度

ArrayList是一个数组或java中的列表? 获取操作的时间复杂度是O(n)还是O(1) ?

检查ArrayList中是否存在一个值

我怎样才能检查一个ArrayList中是否存在写在扫描器中的值? List<CurrentAccount> lista = new ArrayList<CurrentAccount>(); CurrentAccount conta1 = new CurrentAccount("Alberto Carlos", 1052); CurrentAccount conta2 = new CurrentAccount("Pedro Fonseca", 30); CurrentAccount conta3 = new CurrentAccount("Ricardo Vitor", 1534); CurrentAccount conta4 = new CurrentAccount("João Lopes", 3135); lista.add(conta1); lista.add(conta2); lista.add(conta3); lista.add(conta4); Collections.sort(lista); System.out.printf("Bank Accounts:" + "%n"); Iterator<CurrentAccount> itr = lista.iterator(); while (itr.hasNext()) { CurrentAccount element = itr.next(); System.out.printf(element […]

将ArrayList <MyCustomClass>转换为JSONArray

我有一个ArrayList,我在ArrayAdapter中使用ListView。 我需要采取列表中的项目,并将其转换为JSONArray发送到API。 我已经四处搜寻,但还没有find任何解释如何工作,任何帮助将不胜感激。 更新 – 解决scheme 这是我最终解决问题的方法。 ArrayList中的对象: public class ListItem { private long _masterId; private String _name; private long _category; public ListItem(long masterId, String name, long category) { _masterId = masterId; _name = name; _category = category; } public JSONObject getJSONObject() { JSONObject obj = new JSONObject(); try { obj.put("Id", _masterId); obj.put("Name", _name); obj.put("Category", […]

最平行的多个数组

我的最后一个问题传递一个数组存储到postgres是有点不清楚。 现在,澄清我的目标: 我想创build一个Postgres存储过程,它将接受两个input参数。 其中一个是一些金额的列表,例如(100, 40.5, 76) ('01-2222-05','01-3333-04','01-4444-08') (100, 40.5, 76) ,另一个是一些发票清单 ('01-2222-05','01-3333-04','01-4444-08') 。 之后,我想使用这两个数字和字符列表,并与他们做一些事情。 例如,我想从这个数组中获取每个金额,并将其分配给相应的发票。 在Oracle中类似这样的东西: SOME_PACKAGE.SOME_PROCEDURE ( 789, SYSDATE, SIMPLEARRAYTYPE ('01-2222-05','01-3333-04','01-4444-08'), NUMBER_TABLE (100,40.5,76), 'EUR', 1, P_CODE, P_MESSAGE); 当然,这两种typesSIMPLEARRAYTYPE和NUMBER_TABLE是在DB中定义的。

什么时候应该使用列表,什么时候应该使用数组列表?

由于标题说什么时候应该使用List ,什么时候应该使用ArrayList ? 谢谢

在ArrayList中移动项目

所以我对Java还是比较新的,我一直在玩ArrayList的 – 我试图达到的是一个方法来做这样的事情: Item 1 Item 2 Item 3 Item 4 所以我试图将项目移到列表中,除非它已经在顶部,在这种情况下它将保持不变。 例如,如果项目3被移动,则列表将是: Item 1 Item 3 Item 2 Item 4 从我现在的小小的理解,我想要的东西沿线: IF arrayname index is not equal to 0 THEN move up ELSE do nothing 我正在努力的部分是“向上移动”部分。 任何提示或代码示例如何实现这一点非常感谢。

使arrayList.toArray()返回更具体的types

所以,通常ArrayList.toArray()会返回一个types的Object[] ….但假设它是一个对象Custom的Arraylist ,我如何使toArray()返回一个Custom[]types而不是Object[] ?

ArrayList初始容量和IndexOutOfBoundsException

考虑这个示例代码: List<String> myList = new ArrayList<String>(7); myList.add(5, "Hello"); myList.removeAll(Collections.singleton(null)); System.out.println(myList.size() + " objects:" ); for (String s : myList) { System.out.println("\t" + s); } 初始化myList的初始容量为7,然后下一行尝试在位置5添加string“Hello”。这会引发IndexOutOfBoundsException: 线程“main”中的exceptionjava.lang.IndexOutOfBoundsException:索引:5,大小:0 我从一个ArrayList的angular度来看待“初始容量”的含义。 我明白,这个特殊的构造函数正在为7个String元素分配空间,如果我们试图将8个元素添加到列表中,它将不得不分配更多的空间。 我不明白为什么它不会创build一个大小为7的“空”列表,每个索引都有空值,类似于如果我们声明String[] myArray = new String[7]会发生什么。 我记得学习ArrayList是Java的dynamic数组的实现,所以我期望类似的行为。 如果当我声明new ArrayList<String>(7) ,实际上没有空间来分配7个string,那么究竟发生了什么?

如何使用多个sorting条件对ArrayList进行sorting?

我有一个包含Quote对象的数组列表。 我希望能够按字母顺序sorting,按名称sorting,按更改sorting,并按百分比sorting。 我怎样才能sorting我的数据列表? package org.stocktwits.model; import java.io.Serializable; import java.text.DecimalFormat; public class Quote implements Serializable { private static final long serialVersionUID = 1L; public String symbol; public String name; public String change; public String percentChange; public String open; public String daysHigh; public String daysLow; public String dividendYield; public String volume; public String averageDailyVolume; public String peRatio; […]

数组列表容量与数组大小之间的区别

我阅读了下面的核心Java我书中的片段。 将数组列表分配为新的ArrayList <'Employee>(100)//容量为100 与新的Employee [100] // size是100分配一个新的数组是不一样的 数组列表的容量和数组的大小之间有一个重要的区别。 如果您分配一个有100个条目的arrays,则该arrays有100个插槽,可供使用。 一个容量为100个元素的数组列表可能包含100个元素(事实上,超过100个元素是以额外的重新分配为代价的); 但是一开始,即使在初始build设之后,数组列表根本就没有任何元素。 当我看到源代码数组列表时,构造函数创build一个给定容量的Object数组,它准备好容纳给定容量的元素(下面是代码段)。 public ArrayList(int initialCapacity) { super(); if (initialCapacity < 0) throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); this.elementData = new Object[initialCapacity]; } 我无法弄清楚上面提到的作者的实际区别。