Tag: arraylist

天真的inheritance问题 – Java

G’day人, 问这样一个天真的问题让我感到尴尬。 但我无法理解一件事,我有这样的inheritance结构, B扩展A,我写的代码如下, A级 public class A{ private int pos = 0; public A(){ this.pos = 12; } public int getPos(){ return this.pos; } } B级 public class B extends A{ int spec = 15; public B(){ super(); } public int getSpec(){ return this.spec; } } 我还有一个课程要测试,这会让我们回答我的问题。 class级考试 import java.util.*; public class Test{ public […]

ClassCastException:ArrayList不能转换为String

我收到此错误: java.lang.ClassCastException:java.util.ArrayList无法强制转换为java.lang.String 这是代码: public static Listproduit_cart(ArrayList l) { Listre=new ArrayList(); Listl4=new ArrayList(); re=(List) l.get(0); for(int i=1;i<l.size();i++) { l4=new ArrayList(); for(int j=0;j<re.size();j++) { for(int k=0;k<((ArrayList)l.get(i)).size();k++) { l4.add(re.get(j) + " " + (String)((ArrayList)l.get(i)).get(k)); } } re=new ArrayList(); for(int m=0;m<l4.size();m++) { re.add(l4.get(m)); } } return re; } 问题出在这一行: l4.add(re.get(j)+” “+(String)((ArrayList)l.get(i)).get(k)); 我试着把它重写为: l4.add(re.get(j)+” “+((ArrayList)l.get(i)).get(k)); 但它不起作用。 我该怎么办 ?

带有ArrayList通配符的Java HashMap

我有一个HashMap,其值是ArrayLists,我正在尝试编写一个函数来接受这些HashMaps的generics实例 HashMap<String, ArrayList> myMap = new HashMap<String, ArrayList>(); public static void foo(HashMap<?, ArrayList> a) {} public static void bar(HashMap<?, ? extends ArrayList> a) {} // Compilation Failure! foo(myMap); // This works, but why do I need ? extends ArrayList bar(myMap) 错误消息是 类型为Example的方法foo(HashMap<?,ArrayList>)不适用于参数( HashMap<String,ArrayList> )。 为什么我需要为extends ArrayList使用通配符? 我认为通过使用ArrayList (没有? extends ),我可以将函数限制为仅具有ArrayList值的HashMaps。 我也知道以下通用方法有效: public static void printer(HashMap<K, […]

Java:在shuffle中排除数组索引

是否可以在shuffle中排除数组索引? 我对这个问题的见解: Array[0,1,2,3,4,5,6,7,8] Exclude Array index 2 and 7 in shuffle. Shuffle Array. Array[3,5,2,1,6,8,0,7,4] 这是我在洗牌中使用的内容: Listlist = Arrays.asList(pkm); Collections.shuffle(list); 编辑: 谢谢,@ Jhanvi! 我研究了你的代码,它给了我一些想法。 我试着玩你和@Rohit Jain的代码并创建了一个样本: import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.ArrayList; public class Example { public static void main(String[]args){ String[] x = {“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”}; List list = new ArrayList(Arrays.asList(x)); System.out.println(“Before shuffling, ArrayList contains : […]

填充JComboBox的正确方法是什么?

我目前正在Eclipse上用Java构建一个应用程序作为编程基础和基本java编程的自助指南,这纯粹是教育性的,其唯一目的是能够轻松地引用主题并练习我的编程,因为我通过编程来学习它们进入本教程应用程序。 随着时间的推移,应用程序的内容将随着我学习更多编程组件而扩展。 所以我的第一个问题归结为正确的forms。 我正在使用下拉框( JComboBox ),以便从GUI中选择特定主题。 我想填写列表并保持程序干净整洁。 所以我的问题是如何填充JComboBox以限制混乱的代码。 也许是一个文本文件,我可以从中单独添加主题并更有效地编辑? 我正在完成正确的编程程序,而不是我能做到的所有方法。 我知道我可以使用ArrayList ,但我很想理解在使用大量内容时所做的选择,而不是很少。 谢谢, 西蒙

通过Java中的ArrayLists的ArrayList进行迭代

我有以下ArrayList … ArrayList<ArrayList> row1 = new ArrayList<ArrayList>(); 以下arraylists添加到它…. row1.add(cell1); row1.add(cell2); row1.add(cell3); row1.add(cell4); row1.add(totalStockCell); 我想遍历arraylist row1并打印内容。 循环中的循环会在这里工作吗? 例如 while(it.hasNext()) { //loop on entire list of arraylists while(it2.hasNext) { //each cell print values in list } }

使用Dozer的自定义转换器将对象列表映射到另一个列表

我想要做的是使用Dozer将实体列表映射到它们的字符串ID列表(或多或少)。 显然,它意味着Custom Converter。 我的第一个想法是从MyEntity转换为String,然后对Dozer说“使用这个转换器映射此集合的每个对象”。 但我无法弄清楚如何做到这一点。 所以我的第二个想法是直接将转换器形成一个实体列表到一个字符串列表。 我对这个想法的问题是,我正在讨论一些荒谬的东西,即在构造函数中获取我的列表类型,如下所示(根本不起作用): public MyEntityListConverter() { super(List.class, List.class); } 我不知道如何在一行中传递一个实例化列表的类,而不会声明任何内容。 所以如果有人知道: 如何指定dozer一个在集合映射中使用的对象转换器 如何获取实例化列表类型 尝试的第三种/更好的解决方案

如何根据属性查找两个数组列表之间的差异?

我有两个数组列表。 每个都有Employee类型的对象列表。 Employee类如下所示 public class Employee { Employee(String firstname, String lastname, String employeeId) { this.firstname = firstname; this.lastname = lastname; this.employeeId = employeeId; } private int id; // this is the primary key from employee table private String firstname; private String lastname; private String employeeId; // manually assigned unique id to each employee // getters […]

如何对二维ArrayList进行排序

我有一个包含双值的二维ArrayList: ArrayList<ArrayList> data = new ArrayList<ArrayList>(); 与经典数组类似,我想对这个矩阵的“cols”进行排序:我想在子ArrayLists中获取具有相同索引的项,然后对它们进行排序。 就像为每一列调用Collections.sort()一样……按行我的意思是外层和内层是列。 这样做的正确方法是什么? 我想过迭代矩阵来反转它,然后用Collections.sort()对每一行进行排序? 但也许它不是最好的解决方案,因为矩阵大约是400 * 7000。 我不能使用经典数组,因为矩阵的大小是未知的。 感谢帮助。

Arrays.asList(…).contains(…)如何工作?

我有以下代码.. String[] weekEnds={“0″,”6”}; for(int i=0;i<7;i++){ if(Arrays.asList(weekEnds).contains(i)){ System.out.println("I am in the array"); } } 但它没有进入if条件..我不知道我哪里出错了..谢谢你提前..