Tag: list

如何以一种好的方式在Java中的同一列表中查找对象对

在里面 我有一个包含不同对象的ArrayList 。 我试图在一个条件的基础上搜索相同的列表对象对。 如果我找到了正确的对,我创建一个新对象并将其添加到新列表中。 但是我想避免在objectA与objectB和objectB与objectA配对时创建一个对象对。 到目前为止,我没有找到一个好方法。 我试过的想法 2 for循环 for(Object objectA : objectList){ for(Object objectB : objectList){ if(condition){ // create new object // add to list } } } 问题:我需要对已匹配的对进行标记,否则将导致我想避免的同一对的两个创建对象。 它有效,但可能不是最好的解决方案? 迭代器 就像有两个forloops的版本一样,我使用了一个迭代器并从列表中删除了已匹配的对象对。 工作,但似乎不好? Java8 forEach&removeIf objectList.stream().forEach(posA -> { objectList.removeIf(posB -> condition); }); 问题:我什么时候创建对象对象…? 题 哪个是最好的主意 – 或者是否有更好的解决方案我没有得到?

jackson在通用名单中读了json

我正在使用jackson来阅读json消息。 我试图解析的一个值是List,另一个值包含列表中数据的类型。 这是我在java中创建的结构。 public class Message { private Timestamp time; private RestAction action; private String type; private List data; } 通过Class.forName(); 我可以得到代表列表中数据的类。 问题是如何阅读清单。

传递,返回并转换为JNI上的向量列表

我需要从Java传递 List< List > points; 从jni到C ++并转换为 std::vector< std::vector > 处理此向量并返回 List< List > 如何正确传递和返回列表清单? 如何转换对象向量和向后矢量列表中的对象列表?

Hibernate有多对多关系集或列表?

我的Java bean有很多关系。 当我使用List来定义我的变量时: @Entity @Table(name=”ScD”) public class Group extends Nameable { @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER) @JoinColumn(name=”b_fk”) private List r; //or private Set r; 我收到了这个错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0’ … 当我使用Set一切似乎都运行良好。 我想问一下,当使用多对多关系时,哪一个用于逻辑概念List或Set (因为列表可能有重复和设置,但性能和其他问题怎么样)?

原因 – List list = new ArrayList();

我已经多次看过这样的代码了: List list = new ArrayList(); 为什么人们采用ArrayList (和其他类)的父代替生成对象的类型? 这会降低性能吗? 或者为什么有人这样做?

在输入有效之前,如何检查无效输入和循环?

我试图从用户输入中找到列表中的最小数字。 我需要询问用户列表中将包含多少个数字(并且只接受正数而不是字母),然后询问他们列表中的数字是什么(仅接受数字)。 如何检查并保持循环直到数字有效? public class SmallestInt { /** * @param args the command line arguments */ public static void main(String[] args) { // Initialize a Scanner to read input from the command line Scanner input = new Scanner(System. in ); int totalIntegers = 1; int num = 0; int smallest = 0; boolean inputValid = […]

SortedSet,Arrays,Serializable的序列化问题

我在这个过程之前有这个: protected void onPostExecute(SortedSet result) { List list=Arrays.asList(result.toArray()); lancon.putExtra(“results”, list.toArray()); // as serializable } 然后在我的另一部分 Object o=this.getIntent().getSerializableExtra(“results”); //at this point the o holds the correct value (checked by debugger) RatedMessage[] rm = (RatedMessage[]) o;// this line hangs out w ClassCastException resultSet = new TreeSet(new Comp()); Collections.addAll(resultSet, rm); 为什么我得到ClassCastException?

使用迭代器从列表中删除条目

我需要编写一个简单的函数来删除List中包含Elem类对象的所有条目。 我写了函数removeAllElements ,但是如果List的大小大于1则它不起作用。 public class Test { public static void main(String[] args) { Work w = new Work(); w.addElement(new Elem(“a”,new Integer[]{1,2,3})); w.addElement(new Elem(“b”,new Integer[]{4,5,6})); w.removeAllElements(); // It does not work for me. } } public class Work { private List elements = new ArrayList(); public void addElement(Elem e) { this.elements.add(e); } public void removeAllElements() { […]

为什么子列表中的更改会反映在原始列表中?

我知道当你通过引用传递它们时,Java中的Collections是可变的。 我想知道它的原始列表和子列表的内存地址究竟发生了什么。 子列表和原始列表是否引用相同的对象? 以下是代码示例,反映子列表中对主要原始列表所做的更改。 List list = new ArrayList(); list.add(“1”); list.add(“2”); list.add(1, “3”); List list2 = new LinkedList(list); list.addAll(list2); list2 = list.subList(2, 5); list2.clear(); //Changes are made to list System.out.println(list);

LinkedList Java遍历和打印

如果你能帮忙回答这个问题我真的很感激: 我已经使用Java以非常标准的方式创建了自定义链表。 以下是我的课程: public class Node { private Object obj; private Node next; public Node(Object obj){ this(obj,null); } public Node(Object obj,Node n){ this.obj = obj; next = n; } public void setData(Object obj){ this.obj = obj; } public void setNext(Node n){ next = n; } public Object getData(){ return obj; } public Node getNext(){ return […]