比较存储在arraylists中的字符串的表格数据并加入它们

时间:2016-12-12 14:37:44

标签: java arraylist

我有两个字符串A和B的数组列表。 每个都有表格记录。

arraylist中的每个条目都是这样的。整行是一个条目。

文件:“a”,“b”,“c”,“d”,“e”

文件:“x”,“b”,“r”,“z”,“f”

现在,如果将每个逗号分隔的条目视为表格中的字段。

现在我来自这两个基于field2的arraylists(在第一行中是b)和第5个字段,我有两个创建两个新的arraylists 1所有匹配的记录和所有不匹配的记录之一。

我是java的新手,想不出每次如何分割数据并比较两者的方法。请帮忙。

UPDATE:arrayList2中的arrayList1包含字符串。每个字符串看起来像给定的示例。我必须将字符串拆分为记录。对于field2和field5,我必须匹配两个arraylist。像sql join一样,我必须只在arrayList中显示匹配的记录,而在另一个中不匹配。在新数组中,整个字符串应该存在。

我的arraylists包含= [(“”b“,”c“,”d“,”e“”),(“z”,c“,”v“,”b“)...... ................]现在如果我们分割字符串,我们得到的字段如第一行field1 = b,field2 = c等等。两个arraylists是相似的。现在为对于field2和field5这两个arraylists我需要找出匹配和不匹配的所有记录。仅适用于字段....不适用于整个字符串。

1 个答案:

答案 0 :(得分:0)

尝试removeAll()retainAll()

import java.util.ArrayList;
import java.util.Arrays;

public class NewClass {

    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<String>();
        ArrayList<String> list1_copy = new ArrayList<String>();
        ArrayList<String> list2 = new ArrayList<String>();

        String line1 = "this is a sample line for trial";
        String line2 = "this is another sample line for test";


        list1.addAll(Arrays.asList(line1.split(" ")));
        list2.addAll(Arrays.asList(line2.split(" ")));
        list1_copy = (ArrayList<String>) list1.clone();
        System.out.println("Original list1: "+list1);
        System.out.println("Original list2: "+list2);

        list1.removeAll(list2);
        System.out.println("Different items in lists: "+list1);

        list1_copy.retainAll(list2);
        System.out.println("Same items in lists: "+list2);

    }

}