⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swoosh.java

📁 source code to Swoosh project
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package swoosh;import java.util.ArrayList;import java.util.Arrays;import uk.ac.shef.wit.simmetrics.similaritymetrics.*;/** * * @author guilherme */public class swoosh {        public ArrayList list1= new ArrayList();    public ArrayList list2= new ArrayList();    public swoosh(ArrayList list) {       this.list1=list;            }    public void swoosh_execuçao()    {      // ArrayList list2=new ArrayList();              int i=0;       boolean teste=false;             // System.out.println("lista nova"+ list_copy.get(0) +"    " +list1.get(0));       while((list1.size())!=0 )       {                                if(list2.isEmpty())           {                list2.add((ArrayList) list1.get(0));                list1.remove(0);                          }                         teste=compare(0,(ArrayList)list1.get(0));                      if(teste)               i=0;           else           {               list2.add((ArrayList)list1.get(0));               list1.remove(0);                i=0;           }           System.out.println("******lista1****");           System.out.println(list1);           System.out.println("******lista2****");           System.out.println(list2+"\n\n");       }              System.out.println("********************\n lista  finall" +  list2);    }               public  boolean compare(int pos, ArrayList linha_list1)    {        JaroWinkler jarowinkler= new JaroWinkler();        float similarity=0;                     // System.out.println("imprimir listas comparaçao : " + list1 + " lista 2" + list2);        for(int i=0;i<list2.size();i++)        {            ArrayList linha_list2 = (ArrayList)list2.get(i);            if(linha_list2.get(1).equals((String)linha_list1.get(1)))            {                remove_linha(pos,i,linha_list1,linha_list2);                return true ;            }                       similarity=jarowinkler.getSimilarity((String)linha_list2.get(1),(String)linha_list1.get(1));//verifica se os nomes sao iguais           if (similarity>0.8)           {                int valor1=Integer.parseInt((String)linha_list2.get(2));                int valor2=Integer.parseInt((String)linha_list1.get(2));                if((100*(valor1-valor2)/valor1)<20)                {                    similarity=jarowinkler.getSimilarity((String)linha_list2.get(3),(String)linha_list1.get(3));//verifica se os nomes sao iguais                    if(similarity>0.8)                    {                        remove_linha(pos,i,linha_list1,linha_list2);                        return true;                    }                }             }                 }               // System.out.println("valor é "+ j.getSimilarity("abc", "bbc"));    return false;    }      public void remove_linha(int pos_global,int pos_local,ArrayList linha_list1,ArrayList linha_list2)    {        ArrayList list_aux;             list_aux=new ArrayList();         list_aux.add(0,(String)linha_list2.get(0)+(String)linha_list1.get(0));        list_aux.add(1,(String)(ordenacao((String)linha_list2.get(1),(String)linha_list1.get(1))));        list_aux.add(2,(String)linha_list1.get(2));        list_aux.add(3,(String)(ordenacao((String)linha_list2.get(3),(String)linha_list1.get(3))));        list1.remove(pos_global);        list2.remove(pos_local);        list1.add(list_aux);    }    public String ordenacao(String a, String b)    {        String[] array = new String[2];         if(a.isEmpty())            return(b);        if(b.isEmpty())            return(a);        array[0]=(String )a;        array[1]=(String )b;        Arrays.sort(array);        return(array[0]);            }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -