给定两个字符串数组,求出二者不同的元素

Posted 四季万花筒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定两个字符串数组,求出二者不同的元素相关的知识,希望对你有一定的参考价值。

题目描述:给定s = {"a","b","c","d","f","e","ab"}; s2 = {"a","ab"}; 求出s中不包含s2中的剩余元素。可以认为是 s-s2的结果。

思路: 利用hashmap,将s中的元素都存入hashmap,并将<K,V>中的value值赋值1,然后遍历s2中的元素,如果s1中存在则value+1,最后找出value为1的元素就是所求元素。

 1 import java.util.*;
 2 import java.util.Map.Entry;
 3 public class StringMinute {
 4     public static void main(String[] args){
 5         String[] s = {"a","b","c","d","f","e","ab"};
 6         String[] s2 = {"a","ab"};
 7         
 8         Map<String, Integer> map = new HashMap<>();
 9         for (int i=0; i<s.length; i++){
10             map.put(s[i], 1);
11         }
12         for (int i=0; i<s2.length; i++){
13             if (map.containsKey(s2[i])){
14                 int count = map.get(s2[i]);
15                 count++;
16                 map.put(s2[i], count);
17             }
18         }
19         Iterator iter = map.entrySet().iterator();
20         while (iter.hasNext()){
21             Map.Entry<String, Integer> entry = (Entry<String, Integer>)iter.next();
22             if (entry.getValue() == 1){
23                 System.out.println(entry.getKey());
24             } 
25         }
26     }
27 }

 

以上是关于给定两个字符串数组,求出二者不同的元素的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 中,如何求出两个数组的交集和差集?

*数组题型汇总

数组求和,计算给定数组 arr 中所有元素的总和

最大子数组问题

[HAOI2016]找相同字符(后缀数组+单调栈)

BZOJ4566 [Haoi2016]找相同字符 后缀数组