字符串查重java 降重
2022-08-17阅读(997)

问:java如何去掉字符串中重复的字符
- 答:1,定义一个数组
2,每获取一个字符先和数组中的每一个字符比较,有就忽略,没有就存
3,将数组中的字符拼成字符串 - 答:不嫌麻烦可以这样做
for i:1~length
对每一个i,查询所有小于i的元素是否和i元素相同,相同就给i做一个标记。
end
遍历一遍下来就知道那些有标记的就是重复的。 - 答:set不行,这集合是无序的。
你可挨个取出来放在list集合中,再使用二重循环判断有相等的就remove掉,完成以后再挨个放在一个字符串中就行了。 - 答:放到set集合里面,set集合自动帮你去重!放完读出就好。
问:急求!!!!用java 写一个 字符串去重 的程序!
- 答:将字符串截取( 、)然后变成字符串数组,然后将字符串数组中的一个个取出来加入另一个字符串数组,每加入一个字符串就把第二个字符串数组中的字符取出来用String.equals()比较一下如果有相等的就不加入第二个字符窜数组,最后把第二个字符串数组中的东西取出来拼一下就OK。
我觉得你应该看的懂 - 答:用set,用list还要自己写方法判断是不是重复的,肯定用set然后直接用set.add(“人”)直接添加,重复的直接就过滤掉了,都不用for循环..
- 答:可以使用set容器中内容不能重复的功能来去除重复的信息.
简单代码实现如下:
public static void main(String[] args) throws Exception {
Set<String> list = new HashSet<String>();
list.add("人");
list.add("药物");
list.add("疾病");
list.add("药物");
list.add("疾病");
list.add("人");
list.add("药物");
System.out.println(list);
}
输出信息:[疾病, 药物, 人] - 答:Set的功能方法
Set具有与Collection完全一样的接口,因此没有任何额外的功能,不像前面有两个不同的List。实际上Set就是Collection,只是行为不同。(这是继承与多态思想的典型应用:表现不同的行为。)Set不保存重复的元素(至于如何判断元素相同则较为负责)
Set : 存入Set的每个元素都必须是唯一的,因为Set不保存重复元素。加入Set的元素必须定义equals()方法以确保对象的唯一性。Set与Collection有完全一样的接口。Set接口不保证维护元素的次序。
把它添加到set里 - 答:果断用set。set里不会有重复的元素。
- 答:可以利用SET里元素不重复的功能实现, 将字符串按照、分割成数组, 然后挨个放入SET中, 最后遍历SET 将里面每个元素组合成一个字符串 。
String s[] = “人、药物、疾病、药物、疾病、人、药物、” 按照、分割。
Set set = new HashSet();
遍历数组s[]
将数组每个元素放入set
遍历结束
定义字符串result=""
遍历set
result = result + "、" + set的该次遍历的元素
遍历结束, 得到结果result
问:java怎么去除两个字符串中相同的字符
- 答:放Map里面,自动去掉
Map<Char, Char>
问:Java中如何将两个字符串合并,并且把重复的元素去掉,不能用任何排序指令那些,纯手打写出来。
- 答:其实很简单的,用正则一句就够了,没必要写那么多
String a = "aabceesiojkdd";
String b= "khiehkkkhhssdfesee";
String c = (a+b).replaceAll("(.)\\1+", "");
System.out.println(c);//这里c就没有重复的字符了
问:java如何验证多个字符串中是否出现重复的,?
- 答:String[] strArray = {"aa","bb","cc","dd","bb"};
String strAll = "";
for (int i=0;i<strArray.length; i++) {
if (strAll.indexOf(strArray[i])<0) {
strAll += strArray[i] + "\n";
}
else {
System.out.println("str already exists:" + strArray[i]);
}
} - 答:一个字符串在另一个字符串出现的次数。
- 答:说具体点.我无法理解什么意思,