在Java中合并两个集合,取两个集合的并集

╰+哭是因爲堅強的太久メ 2023-06-16 04:55 86阅读 0赞
  1. 在开发中,有时会碰到这样的需求,取两个集合的并集,也就是说如果其中一个集合中的元素是\[1,2,3,4,5\],另一个集合中的元素是\[4,5,6,7,8\],那么取这两个集合的并集得到的结果就是\[1,2,3,4,5,6,7,8\]
  2. 合并两个集合的代码如下:
  3. /**
  4. * 取两个集合的并集,并返回
  5. * @param listOne List
  6. * @param listTwo List
  7. * @return List
  8. */
  9. private List<Integer> mergeTwoList(List<Integer> listOne, List<Integer> listTwo) {
  10. for(Integer num : listTwo) {
  11. if(!listOne.contains(num)) {
  12. listOne.add(num);
  13. }
  14. }
  15. return listOne;
  16. }
  17. 测试结果的代码如下:
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. public class MergeListTest {
  21. public static void main(String[] args) {
  22. MergeListTest mergeListTest = new MergeListTest();
  23. // 初始化两个集合
  24. List<Integer> listOne = new ArrayList<>();
  25. List<Integer> listTwo = new ArrayList<>();
  26. mergeListTest.initData(listOne, listTwo);
  27. // 取两个集合的并集
  28. List<Integer> intList = mergeListTest.mergeTwoList(listOne, listTwo);
  29. // 打印合并后的集合
  30. mergeListTest.print(intList);
  31. }
  32. private void initData(List<Integer> listOne, List<Integer> listTwo) {
  33. listOne.add(1);
  34. listOne.add(2);
  35. listOne.add(3);
  36. listOne.add(4);
  37. listOne.add(5);
  38. listTwo.add(4);
  39. listTwo.add(5);
  40. listTwo.add(6);
  41. listTwo.add(7);
  42. listTwo.add(8);
  43. }
  44. /**
  45. * 取两个集合的并集,并返回
  46. * @param listOne List
  47. * @param listTwo List
  48. * @return List
  49. */
  50. private List<Integer> mergeTwoList(List<Integer> listOne, List<Integer> listTwo) {
  51. for(Integer num : listTwo) {
  52. if(!listOne.contains(num)) {
  53. listOne.add(num);
  54. }
  55. }
  56. return listOne;
  57. }
  58. private void print(List<Integer> intList) {
  59. for(Integer num : intList) {
  60. System.out.print(num + " ");
  61. }
  62. }
  63. }

发表评论

表情:
评论列表 (有 0 条评论,86人围观)

还没有评论,来说两句吧...

相关阅读