JAvaはmapを使って繰り返します
1480 ワード
今日京东に行って面接して、自分の技术の方面がやはり不足していると感じて、1つはこの2年の仕事の大部分がすべて仕事を维持するためで、BUGとデータと付き合うのが比较的に多くて、2つは自分があまりにも怠惰なためで、多くの人の考えと同じように、いつも仕事と勉強を統一したいと思っていますが、本当にそうするのは少ないかもしれません.涙と言って、次は今日の筆記試験の問題を貼って、難しくなくて、いいところがあると思います(主に当時書いていなかったので、帰ってきてまた書いてみました).
タイトルは、id、valueの2つのフィールドを持つ2つのグループのデータがあり、javaの1つのコンテナを選択してそれぞれそのデータを取得し(データ取得プロセスを無視)、その完全な重複部分をコンテナ2から削除します.
最初のアイデアはmapを使って、具体的な実現方法を忘れて、帰ってから書くのは難しくありませんでした.
table1
1
a
2
b
3
c
4
d
5
e
table2
1
g
2
f
3
c
4
t
5
e
これで大丈夫だと思いますが、もっと良い方法があれば議論を歓迎しましょう.
タイトルは、id、valueの2つのフィールドを持つ2つのグループのデータがあり、javaの1つのコンテナを選択してそれぞれそのデータを取得し(データ取得プロセスを無視)、その完全な重複部分をコンテナ2から削除します.
最初のアイデアはmapを使って、具体的な実現方法を忘れて、帰ってから書くのは難しくありませんでした.
table1
1
a
2
b
3
c
4
d
5
e
table2
1
g
2
f
3
c
4
t
5
e
public class Test {
public static void main(String[] args) {
Map map1 = new HashMap();
Map map2 = new HashMap();
map1.put(1, "a");
map1.put(2, "b");
map1.put(3, "c");
map1.put(4, "d");
map1.put(5, "e");
map2.put(1, "g");
map2.put(2, "f");
map2.put(3, "c");
map2.put(4, "t");
map2.put(5, "e");
boolean isEquals = false;
for(Object o : map1.keySet()){
isEquals = map2.containsKey(o);
if(isEquals){
isEquals = map1.get(o).equals(map2.get(o));
}
if(isEquals){
map2.remove(o);
}
}
for(Object o : map2.keySet()){
System.out.println(o.toString() + ":" + map2.get(o));
}
}
}
これで大丈夫だと思いますが、もっと良い方法があれば議論を歓迎しましょう.