zoukankan      html  css  js  c++  java
  • Java递归实现全排列改进(一)---利用HashSet实现去重

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;

    public class Test{
     private static String[] s = new String[]{"a","b","a"};
     private static int l = s.length;
     private static Set<String> set = new HashSet<String>();
     public static void main(String[] args) {
      List<String> source = Arrays.asList(s);
      List<String> target = new ArrayList<String>();
      sort(source,target);
      Iterator<String> it = set.iterator();
      while(it.hasNext()){
       System.out.println(it.next());
      }
     }

     private static void sort(List<String> source, List<String> target) {
      if(target.size() == l){
       set.add(target.toString().replaceAll(",", "").replace("[", "").replace("]", "").replace(" ", ""));
      }
      for(int i=0;i<source.size();i++){
       List<String> targetList = new ArrayList<String>(target);
       targetList.add(source.get(i));
       List<String> resourceList = new ArrayList<String>(source);
       resourceList.remove(i);
       sort(resourceList,targetList);
      }
     }
    }

  • 相关阅读:
    自定义指令
    freemarker 数据类型
    hibernate简单的增删改查
    hibernate增删改查
    Hibernate HQL查询语句总结
    Hibernate配置详细解释
    Filter过滤器
    日志统计
    分页-模糊查询
    分页
  • 原文地址:https://www.cnblogs.com/iamconan/p/7383613.html
Copyright © 2011-2022 走看看