检查多个字符串包含的java集合

时间:2014-03-31 17:53:06

标签: java string set

我有一组以下形式,每个元素由两个用空格分隔的数字组成:

element1: 5 8
element2: 3 2
element3: 7 5
.....

如果我有元素的第一个数字(例如分别为5,3,7),如何得到包含元素(8,2,5)的第二个数字?

 import java.util.*; 

 Set set = new HashSet();

try{
        FileInputStream fstream = new FileInputStream(args[0]);
        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String strLine;



while ((strLine = br.readLine()) != null)   { 
set.add(strLine);
 }

2 个答案:

答案 0 :(得分:0)

没有办法只使用set.contains做你想做的事。

Java 8中的新Collections Streaming API允许您这样做,或者您可以遍历集合中的值,或者您可以构建Map。

答案 1 :(得分:0)

这个问题有点含糊不清 如果你想要第二个数字包含元素(8,2,5),只要你有元素的第一个数字(例如分别为5,3,7)?

  • 意味着一些事情
    1. 你有第一个数字独特吗? - 然后将其存储为键值对 - 键(第一个#)值(第二个#)
    2. 你有一个独特的组合吗?意义"element1+5"可能是关键? - 仍然HashMap正常工作
    3. 你需要能够选择元素是随机索引说第1和第4第一元素?你应该有一个自定义数据结构, 修改了LinkedListHashSetLInkedHashSet,解析以查找是否为Key 如果是,则为ArrayList添加值,然后在完成后返回填充的数组。