Tag: arraylist

如何使用迭代器迭代二维ArrayList?

我想使用迭代器遍历包含String对象的二维ArrayList 。 我还想以一种方式迭代,让我选择是否要通过使用boolean值水平(行)首先或垂直(列)迭代。 我怎样才能在java中实现它? 到目前为止我尝试过的。 public class IterateThis implements Iterator{ ArrayList<ArrayList> array; public IterateThis(){ array = new ArrayList<ArrayList>(); array.add(new ArrayList()); array.add(new ArrayList()); array.add(new ArrayList()); array.get(0).add(“1”); array.get(0).add(“2”); array.get(0).add(“2”); array.get(1).add(“4”); array.get(1).add(“5”); array.get(1).add(“6”); } Iterator it = array.iterator(); //This gives me an error…why? 我不知道如何实现boolean值。

查找ArrayList中重复值的索引

我有一个ArrayList,它包含diff diff index的重复值。 例如{“Indian”,”American”,”Chinese”,”Australian”,”Indian”,”Russian”,”Indian”}你可以看到价值 – “Indian”存在于指数 – 0和6 。 我需要知道”Indian”存在的所有这些索引并创建一个arrayList。 这是我的代码: public void filter(){ categoryArray = Arrays.asList(category); for(String k : category){ //Log.v(“filter”, filterTerm); if(k.equals(filterTerm.toLowerCase())) { int p = categoryArray.indexOf(k); Log.v(“index of categArr”, “”+p); String id = Integer.toString(p); indexes.add(id); }// end of if }// end of for 在这里,我通过获取索引的大小(ArrayList)得到重复发生的次数,但是当我检查值时。 它在所有索引中的一个值,因为在方法中: indexOf()它总是带来它在Array中找到的第一个值的索引。 因此,如果在索引 – 2,5,7处存在重复,我将索引的数组大小设置为3 。 但价值是{2,2,2,};

在Java中,是否有更优雅的方法从Strings的ArrayList中删除重复的字符串?

所以,长话短说,我有一个Java作业分配,需要以各种方式操作字符串的长ArrayList(我们正在做的事情,如显示单词的组合,添加和从ArrayList中删除,没有什么特别的)。 我注意到一些提供的ArrayLists有重复的条目(这个分配不需要重复项),所以我从老师那里得到了通过删除重复条目来清理数据的好处。 这就是我想出的: private static ArrayList KillDups(ArrayList ListOfStrings) { for (int i = 0 ; i < ListOfStrings.size(); i++) { for (int j = i + 1; j < ListOfStrings.size(); j++) { //don't start on the same word or you'll eliminate it. if ( ListOfStrings.get(i).toString().equalsIgnoreCase( ListOfStrings.get(j).toString() ) ) { ListOfStrings.remove(j);//if they are the same, DITCH […]

如何从ArrayList更新JComboBox内容?

我有基于ArrayList的JComboBox: private ArrayList klienci = new ArrayList(); private JComboBox klienciLista; 我在构造函数中添加它: klienciLista = new JComboBox(klienci.toArray()); klienciLista.setPrototypeDisplayValue(“#############################”); panel.add(klienciLista); //JPanel panel 在开始时列表为空。 客户端通过线程中的socket new ArrayList获取: public void run() { try { host = InetAddress.getLocalHost().getHostName(); socket = new Socket(host, SERVER_PORT); input = new ObjectInputStream(socket.getInputStream()); output = new ObjectOutputStream(socket.getOutputStream()); output.writeObject(nazwa); } catch (IOException e) { System.out.println(e); JOptionPane.showMessageDialog(null, “Polaczenie sieciowe […]

在进行实例化列表时,是什么类型的?

我在多个不同的地方看到过实例化列表或ArrayList的人: List l = new ArrayList(); 什么类型?? 这是否意味着它可以包含任何类型? 如果是这样,为什么要使用它而不仅仅是和ArrayList?

搜索排序列表最近和小于

考虑一些long叫做X和一个有序的List 。 在List中找到索引或值的最有效算法是什么(i)小于X ,以及(ii)在数字行上最接近X (假设条件(i)已被饱和)? 例如,这可能是一个问题设置: long X = 500; List foo = new Arraylist(); foo.add(450L); foo.add(451L); foo.add(499L); foo.add(501L); foo.add(550L); Collections.sort(foo); // It’s always sorted. 我希望算法返回499或返回与499相关的索引(在这种情况下i=2 )。

Java:将多个数组交织到一个数组中

我发现类似的问题关于将两个arraylists交织成一个,但它在PHP中。 我在面试中也被问到了这个问题,但无法解决,回到SO看看是否已经解决了,但我只能找到这篇论文 那么任何指向伪代码或方法定义的指针呢? 大(O)限制:O(n) – 时间成本和O(1) – 空间成本 例: a [] = a1,a2,…,an b [] = b1,b2,…,bn 将arraylist重新排列为a1,b1,a2,b2,…,an,bn Editv1.0 :Arraylists a []和b []具有相同的大小 Editv2.0 :如果问题扩展到在给定的两个数组之一中重新排列,但是没有创建新数组怎么办?

ArrayList – 添加“相同”对象(same => equals,hashCode),Threads

我有一个问题。 当我尝试将“相同”对象两次添加到ArrayList时会发生什么。 “相同”是指单个类的对象,使用equals()和hashCode()标识为相同。 它对于大多数成员变量具有不同的值,并且可能是从不同的线程创建的,但对于equals()和hashCode(),它们是“相同的”。 第二个对象是否会替换第一个对象? 另外,如果两个线程试图将这些对象完全同时添加到ArrayList会发生什么? 这有可能吗? 如果是,会发生什么? 谢谢! 🙂 [编辑]感谢所有的答案! 我应该使用synchronizedList,而不是使用“synchronize(list){}”吗? – >我读了docs,即使是使用synchronizedList,也应该使用迭代同步(list) [EDIT2] synchronizedList可以声明为成员变量吗? 我试过了,但它没有用。

如何从ArrayList中删除空白项目。不要删除索引

public class ArrayListTest { public static void main(String[] args) { ArrayList al=new ArrayList(); al.add(“”); al.add(“name”); al.add(“”); al.add(“”); al.add(4, “asd”); System.out.println(al); } } o / p [,name ,,, asd]欲望O / p [name,asd]

如何从列表中删除整数?

我需要从整数arraylist中删除整数。 我对字符串和其他对象没有任何问题。 但是当我删除时,整数被视为索引而不是对象。 List list = new ArrayList(); list.add(1); list.add(2); list.add(300); list.remove(300); 当我试图删除300我得到: 06-11 06:05:48.576: E/AndroidRuntime(856): java.lang.IndexOutOfBoundsException: Invalid index 300, size is 3