去掉重复代码总结

例一
/*
String s="school";
去掉重复的字符s=school;
*/

public class DeleteString1 {

public static void main(String[] args){
String s="school";
StringBuffer sb= new StringBuffer(s);
for(int i=0;i<sb.length()-1;i++){
for(int j=i+1;j<sb.length();j++){
if(sb.charAt(i)==sb.charAt(j)){
sb.deleteCharAt(j);
}
}
}
System.out.println(sb);

}

}
=================================================================================
例二
/*去掉ArrayList里面的重复的字符串
"111";"111";"111";"111";"111";"222";
结果应该是:"111";"222";
*/
public class TestArrayList {
public static void main(String[] args){
ArrayList tmp=new ArrayList();
tmp.add("111");
tmp.add("111");
tmp.add("111");
tmp.add("111");
tmp.add("111");
tmp.add("111");
tmp.add("111");
tmp.add("111");
tmp.add("222");

for(int i=0;i<tmp.size()-1;i++){
for(int j=tmp.size()-1;j>i;j--){ //for(int j=i;j<tmp.size();j++){比较的对象有什么区别那??//为什么for(int j=i+1;j<tmp.size();j++){这样写不行那????
if(tmp.get(i).equals(tmp.get(j))){
tmp.remove(j);
}
}
}
System.out.println(tmp);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在ABAP语言中,可以使用内置函数`DISTINCT`去除重复项。下面是一个简单的例子: ``` DATA: BEGIN OF lt_data OCCURS 0, field1 TYPE string, field2 TYPE string, END OF lt_data. " 在这里添加原始数据到lt_data SORT lt_data BY field1 field2. DELETE ADJACENT DUPLICATES FROM lt_data. ``` 在上面的代码中,首先对`lt_data`数组进行排序,然后删除相邻重复项。这样就可以得到一个不包含重复项的数组。 ### 回答2: 在ABAP语言中,可以使用内置的数据类型和功能来去除重复项。 一种常用的方法是使用内置的表格数据类型和DELETE相应功能。首先,我们需要定义一个内表(table),可以使用表格数据类型,如标准表(standard table)或哈希表(hashed table)。然后,将重复的元素添加到表中,通过遍历该表,使用DELETE语句来删除重复的元素。 以下是一个示例代码: DATA: lt_table TYPE TABLE OF string, "定义内表 lv_element TYPE string. "将重复元素添加到内表中 APPEND 'A' TO lt_table. APPEND 'B' TO lt_table. APPEND 'A' TO lt_table. APPEND 'C' TO lt_table. APPEND 'B' TO lt_table. "删除重复元素 LOOP AT lt_table INTO lv_element. DELETE lt_table WHERE table_line = lv_element. ENDLOOP. 在上述示例中,我们创建了一个内表(lt_table)并添加了重复的元素。然后,通过循环遍历内表,并使用DELETE语句删除这些重复的元素。 此外,还有其他方法来去除重复项,如使用SORT功能或使用集合类型(集合不允许重复的元素)等。具体的方法取决于使用的数据类型和应用程序的要求。 总结起来,在ABAP语言中,要去除重复项,我们可以使用内置的表格数据类型和DELETE语句来实现。 ### 回答3: 在ABAP中,要去除重复项,可以使用内置函数或者使用循环结构来实现。 方法一:使用内置函数来去除重复项。可以使用表达式"DELETE ADJACENT DUPLICATES FROM <internal_table> COMPARING <fields>"。其中,<internal_table> 表示表格或内部表的名称,<fields> 是指定比较的字段。此方法将会删除内部表中连续相同的行。 例如,我们有一个包含学生姓名的内部表lt_students,我们希望去除其中的重复项,可以使用以下代码: DELETE ADJACENT DUPLICATES FROM lt_students COMPARING name. 方法二:使用循环结构来去除重复项。可以使用两个循环嵌套的方法来实现。外层循环用于遍历内部表,内层循环用于比较遍历到的行与其它行是否有重复。如果有重复,可以使用"DELETE <internal_table> INDEX sy-tabix"删除重复项。 以下是使用循环结构的示例代码: DATA: lv_count TYPE i. LOOP AT lt_students INTO DATA(ls_student). READ TABLE lt_students WITH KEY name = ls_student-name TRANSPORTING NO FIELDS. lv_count = sy-dbcnt. LOOP AT lt_students FROM lv_count TO lines(lt_students). IF ls_student-name = lt_students-name. DELETE lt_students INDEX sy-tabix. ENDIF. ENDLOOP. ENDLOOP. 以上就是用ABAP语言去除重复项的两种方法。使用内置函数可以更简洁和高效地实现去重,而使用循环结构则更加灵活,适用于更复杂的去重需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值