字符串、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);
    }
时间: 2024-10-17 13:24:49

字符串、List集合collection.sort排序 、set/map集合的相关文章

Java基础知识强化之集合框架笔记51:Map集合之Map集合的功能概述与测试

1. Map集合的功能概述 (1)添加功能 V put(K key,V value):添加元素.这个其实还有另一个功能?先不告诉你,等会讲 如果键是第一次存储,就直接存储元素,返回null 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值 (2)删除功能 void clear():移除所有的键值对元素 V remove(Object key):根据键删除键值对元素,并把值返回 (3)判断功能 boolean containsKey(Object key):判断集合是否包含指定的键 bo

将xml字符串的所有叶标签转换成Map集合

实际问题:对方服务器接口采用webservice方式返回xml报文,现需解析xml获取所有叶节点的标签名及携带的值 解决方案:利用dom4j解析xml并利用递归获取叶节点,将标签名及标签值封装到Map集合供业务调用 import java.util.HashMap; import java.util.List; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.

JAVA学习第三十九课(常用对象API)- 集合框架(七)— Map集合及其子类对象

一.Map集合常见子类 HashTable:内部结构是哈希表,同步,此实现提供所有可选的映射操作,不允许使用 null 值和 null 键 (HashTable下有子类Properties,使用频率非常高,用来存储键值对型的配置文件信息和IO技术相结合) HashMap:内部结构是哈希表,不同步,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键. TreeMap:内部结构是二叉树,不同步,可以对Map集合中的键进行排序. 二.HashMap演示 import java.ut

Java基础知识强化之集合框架笔记50:Map集合之Map集合的概述和特点

1. Map集合的概述: 1 public interface Map<K,V> 作为学生来说,是根据学号来区分不同的学生的,那么假设我现在已经知道了学生的学号,我要根据学号去获取学生姓名,请问怎么做呢?如果采用前面讲解过的集合,我们只能把学号和学生姓名作为一个对象的成员,然后存储整个对象,将来遍历的时候,判断,获取对应的名称.但是呢,如果我都能把学生姓名拿出来了,我还需要根据编号去找吗?针对我们目前的这种需求:仅仅知道学号,就想知道学生姓名的情况,Java就提供了一种新的集合 Map.通过查

JAVA学习第三十八课(常用对象API)- 集合框架(六)— Map集合及其常用方法

一.Map集合特点 Map集合(双列集合)一次添加一对元素,Collection集合(单列集合)一次添加一个元素 接口 Map<K,V>,实际上存储的是键值对 特点: 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. 也就是说Map中必须保证键的唯一性 二.常用方法 1.添加:value = put(key,value);返回前一个和key相关联的值,如果没有返回null 2.删除:void clear();把Map中的所有映射关系清除 value remove(ke

Java基础知识强化之集合框架笔记57:Map集合之HashMap集合(HashMap&lt;Student,String&gt;)的案例

1. HashMap集合(HashMap<Student,String>)的案例 HashMap<Student,String>键:Student      要求:如果两个对象的成员变量值都相同,则为同一个对象.值:String HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里. HashMap 中作为键的对象必须重写Object的hashCode()方法和equals()方法 2. 代码示例: (1)Student.java,如下: 1 pa

Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值

1. Map集合的遍历  Map -- 夫妻对 思路:  A:把所有的丈夫给集中起来.  B:遍历丈夫的集合,获取得到每一个丈夫.  C:让丈夫去找自己的妻子.  转换:  A:获取所有的键  B:遍历键的集合,获取得到每一个键  C:根据键去找值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Set; 6 7 public cla

Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: 获取所有键值对对象的集合  B: 遍历键值对对象的集合,得到每一个键值对对象  C: 根据键值对对象获取键和值 2. 代码示例: 1 package cn.itcast_01; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 impo

hibernate学习系列-----(9)hibernate对集合属性的操作之Map集合篇

照旧,先新建一个StudentMap.java实体类,将hobby属性使用map集合接口来存放: package com.joe.entity; import java.util.Map; public class StudentMap { private int id; private String name; private int age; private Map<String,String> hobby; /** * 无参构造函数 */ public StudentMap(){ } p