请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。

public class Solution {
   
    //char []s=new char[256];
    StringBuffer s=new StringBuffer();
    int []hash=new int[256];
    //Insert one char from stringstream
    public void Insert(char ch)
    {
   
        s.append(ch);//利用StringBuffer的可追加性
        hash[ch]++;
    }
  //return the first appearence once char in current stringstream
    public char FirstAppearingOnce()
    {
   
         
        char []str=s.toString().toCharArray();//转换成String,进而转换成数组
        int len=str.length;
        for(int i=0;i<len;i++){
   
            if(hash[str[i]]==1)
                return str[i];
        }
        return '#';
    }
}