HashSet中有关sort问题,打印结果应该abcd在前而abcdd在后,但是实际打印结果不符

package collection;

import java.util.*;

public class SetDemo {

    public static void main(String[] args) {
        String strBefor[] = {"abcdd","abcd","ab","AB","abc"}; 
        for(int i=0;i<strBefor.length;i++){
            strBefor[i]=strBefor[i].toLowerCase();
        }
            HashSet<String> set=new HashSet<String>();
        for(String s:strBefor)
        {
            set.add(s);
        }
        strBefor=set.toArray(new String[set.size()]);
        Arrays.sort(strBefor);
        for(String s:set){
            System.out.println(s);
        }



    }

打印结果:
ab
abc
abcdd
abcd

你打印错对象了,应该是strBefor

 for(String s:strBefor){
            System.out.println(s);
        }