有2个字符串,每个字符串中存储的是若干个邮件地址(用分号【;】隔开的)。
其中第一字符串作为默认的邮件收件人,如:111111@qq.com;222222@qq.com,
第二个字符串初始值和第一个字符串值相同,但用户可以对第二个字符串可以修改,可以增加邮件地址,或是删除邮件地址,最终把这两个字符串的邮件地址合并,但合并后不能重复。
目前本人是将两个串根据【;】将分割,对两个数组进行遍历,将第二个数组与第一数组的值比较,没有重复的就追加,但如果第一个串是111111@qq.com;222222@qq.com,第二个串是111111@qq.com,即比第一个串少了,如何合并,还有如果第二个串是111111@qq.com;333333@qq.com;555555@qq.com有怎么合并,求代码示例!!!
------解决方案--------------------
你可以把他们全部拆成由一个个邮件地址组成的数组,然后数组内部循环比较 取出不同的项 最后留下的就是你想要的
String[] args = {111111@qq.com,333333@qq.com,555555@qq.com ...}
------解决方案--------------------
- Java code
public static void main(String[] args) { String s1 = "111111@qq.com;222222@qq.com"; String s2 = "111111@qq.com;333333@qq.com;555555@qq.com"; Set<String> set = new TreeSet<String>(); for(String s : s1.split(";")) set.add(s); for(String s : s2.split(";")) set.add(s); System.out.print(Arrays.toString(set.toArray())); }
------解决方案--------------------
[Quote=引用:]
- Java code
public static void main(String[] args) { String s1 = "111111@qq.com;222222@qq.com"; String s2 = "111111@qq.com;333333@qq.com;555555@qq.com"; Set<String> set = new HashSet<String>(); for(String s : s1.split(";")) set.add(s); for(String s : s2.split(";")) set.add(s); System.out.print(Arrays.toString(set.toArray())); }
------解决方案--------------------
2楼正解啊 用SET去重就可以了啊
------解决方案--------------------