您的位置:首页 > 其它

Find first repeating letter in a String

2015-08-27 10:37 316 查看
package test.com.whty.platform.modules.interfaces;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

public class Test {

     public static String firstRepeat(String str)

     {   

    if(str.length()==0){

    return null;}

    Map<Character, Integer> map=new HashMap<Character, Integer>();

    for(int i=0;i<str.length();i++)

    {

    if(!map.containsKey(str.charAt(i)))

    {

    map.put(str.charAt(i), i);

    }

    }

     

    List<Map.Entry> list=new ArrayList<Map.Entry>(map.entrySet());

    Collections.sort(list,new Comparator<Map.Entry>() {

@Override
public int compare(Entry o1, Entry o2) {
// TODO Auto-generated method stub
if((Integer)o1.getValue()>(Integer)o2.getValue())
{
return 1;
}
else if((Integer)o1.getValue()<(Integer)o2.getValue())
{
return -1;
}
else{
return 0;}
}

     

     
}

     

    );

   

       Iterator<Entry> itr=list.iterator();

       Map.Entry entry=itr.next();

       return entry.getKey().toString();

   

     }

     

     public static void main(String[] args) {
String str=new String("adaljgasdihgi");
System.out.println(Test.firstRepeat(str));

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string