首页 > 代码库 > 字符串、List集合collection.sort排序 、set/map集合

字符串、List集合collection.sort排序 、set/map集合

String和StringBuffer的区别

1、String具有长度不可改变的属性,当对字符串做添加或者删除,替换时,不会改变String对象的内容,而是产生了一个新的字符串对象

2、StringBuffer类:StringBuffer会在缓冲区开辟一个空间,当对StringBuffer内容做添加或者删除,替换时,不会改变String对象的内容,不会产生新的对象:如果你对字符串中的内容经常修改那么使用StringBuffer,如果需要String那么最后使用StringBuffer的to String()方法即可

    public static void main(String[] args) {
        String s = "abcd";
        StringBuffer sb = new StringBuffer("abcd");
        test(s,sb);
        System.out.println(s+"   "+sb);
    }
    
    public static void test(String s,StringBuffer sb){
        s = s + "&&&";
        sb.append("***");
    }
}



abcd   abcd***

<List> Collections排序

public class CollectionsTest {

    public static void main(String[] args) {
        List<Product> list = new ArrayList<Product>();
        list.add(new Product(2, "燕窝", 130));
        list.add(new Product(1, "鱼翅", 150));
        list.add(new Product(5, "熊掌", 120));
        list.add(new Product(4, "鲍鱼", 90));
Collections.sort(list,new Comparator<Product>() {

    @Override
    public int compare(Product o1, Product o2) {
    
    
        return o1.getCode()-o2.getCode();//升序
    }     //降序  o2-getCode()-o1.getCode()
});
//重新随机排列集合元素
Collections.shuffle(list);

     for(Product i:list){
    System.out.println(i);
}
     
     
     
     
    }

}

Set数组排序

public class Text {

    public static void main(String[] args) {
//    int []array={1,2,8,3,4,9,6,8};
//    
//    Set<Integer> setArray=new HashSet<Integer>();
//    for(int x:array){
//        setArray.add(x);
//    }
//    for(Integer s:setArray){
//        System.out.println(s);
//    }
//    
//        Set<Product> setArray=new HashSet<Product>();
//        setArray.add(new Product(2,"苹果",5));
//        setArray.add(new Product(2, "西瓜", 20));
//        setArray.add(new Product(5, "香蕉", 4));
//        System.out.println(setArray.size());
//        for(Product s:setArray){
//            System.out.println(s);
//        }
//    
        Map<Integer,Product> map=new  HashMap<Integer,Product>();
        map.put(1, new Product(1, "燕窝", 120));
        map.put(2, new Product(2, "请问", 45));
        map.put(3, new Product(3, "拼过", 12));
        //等到map的长度
        System.out.println(map.size());
        //根据给得键直接删除相对应的键和值
        map.remove(2);
        
        
    //很快找到键所在的值    
    Product p=map.get(2);
    System.out.println(p);
            
    Set<Integer> m=map.keySet();
    for(Integer i:m){
        Product h=map.get(i);
        System.out.println("键"+i+"值"+h);
    }

 

字符串、List集合collection.sort排序 、set/map集合