1.创建一个字符串数组:{"one","two","three"}
然后将该数组转换为一个List集合

         String[] arr = {"one","two","three"};
    List<String> list = Arrays.asList(arr);
    System.out.println(list);

2.创建一个List集合,并存放10个随机数,然后排序该集合后输出

          Random random = new Random();
    List<Integer> list = new ArrayList<Integer>();
    for(int i=0;i<10;i++){
        list.add(random.nextInt(100));
    }
    System.out.println("list:"+list);
    Collections.sort(list);
    System.out.println("list:"+list);

3.通过控制台输入3个日期(yyyy-MM-dd格式),然后转换为Date对象后存入
集合,然后对该集合排序后输出所有日期。

          Scanner scanner = new Scanner(System.in);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    List<Date> list = new ArrayList<Date>();
    for(int i=1;i<=3;i++){
        System.out.println("请输入第"+i+"个日期:");
        String line = scanner.nextLine();
        Date date = sdf.parse(line);
        list.add(date);
    }
    System.out.println(list);
    Collections.sort(list);
    System.out.println(list);

4.要求用户输入若干员工信息,格式为:
name,age,gender,salary,hiredate;name,age,gender,salary,hiredate;....
例如:

  • 张三,25,男,5000,2006-02-15;李四,26,女,6000,2007-12-24;...

  • 然后将每个员工信息解析成Emp对象。并存入到一个集合中。

  • 然后循环集合,输出每一个员工信息(输出使用toString返回的字符串)

  • 然后输出每个员工的转正日期。

  • 转正日期为:入职3个月的当周周五

           List<Emp> list = new ArrayList<Emp>();
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
     Scanner scanner = new Scanner(System.in);
     System.out.println("请输入员工信息:");
     String info = scanner.nextLine();
     String[] empArr = info.split(";");
     for(String data:empArr){
         String[] empInfo = data.split(",");
         String name = empInfo[0];
         int age = Integer.parseInt(empInfo[1]);
         String gender = empInfo[2];
         int salary = Integer.parseInt(empInfo[3]);
         Date hiredate = sdf.parse(empInfo[4]);
         Emp e = new Emp(name, age, gender, salary, hiredate);
         list.add(e);
     }
     //输出员工信息
     for(Emp e : list){
         System.out.println(e);
     }
     //输出转正仪式日期
     for(Emp e : list){
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(e.getHiredate());
         //入职3个月后的日期
         calendar.add(Calendar.MONTH, 3);
         //设置为当周的周五
         calendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
         System.out.println(e.getName()+"的转正仪式日期:"+sdf.format(calendar.getTime()));
     }

5。创建一个Map,保存某个学生的成绩:
*在控制台输入该学生成绩,格式:
*科目:成绩;科目:成绩;...
*例如:
*语文:99;数学:98;英语:97;物理:96;化学:95
*然后输出物理的成绩。
*然后将化学的成绩设置为96
*然后删除英语这一项。
*然后遍历该Map分别按照遍历key,Entry,value
*的形式输出该Map信息。

        Map<String,Integer> map
        = new HashMap<String,Integer>();
    map.put("语文", 99);
    map.put("数学", 98);
    map.put("英语", 97);
    map.put("物理", 96);
    map.put("化学", 95);
    //获取物理的成绩
    Integer num = map.get("物理");
    System.out.println("物理:"+num);

    //设置化学成绩
    map.put("化学",96);

    //删除英语
    map.remove("英语");

    //遍历key
    Set<String> keySet = map.keySet();
    for(String key : keySet){
        System.out.println("key:"+key);
    }

    //遍历Entry
    Set<Entry<String,Integer>> entrySet = map.entrySet();
    for(Entry<String,Integer> e : entrySet){
        System.out.println(e.getKey()+":"+e.getValue());
    }

    //遍历values
    Collection<Integer> values = map.values();
    for(Integer value : values){
        System.out.println("value:"+value);
    }

选做扩展题:
两个线程交叉打印数字1-50,打印效果如下
提示:需要每个线程打印5个数字以后释放对象锁,释放锁请参考Object类的wait()方法和notify()方法

Thread1-1

Thread1-2

Thread1-3

Thread1-4

Thread1-5

Thread2-6

Thread2-7

Thread2-8

Thread2-9

Thread2-10

Thread1-11

Thread1-12

Thread1-13

Thread1-14

Thread1-15
......

public static void main(String[] args) throws Exception{

            AA a = new AA();
            new Thread(a).start();
            new Thread(a).start();

}

class AA implements Runnable{
Object obj=new Object();
int num=1;
@Override
public void run() {
while(num<50) {

        synchronized (obj) {
            for (int i = 0; i < 5; i++) {

                System.out.println(Thread.currentThread().getName()+"   "+num++);
                if(num==51) {
                    System.exit(0);
                }    
            }
            obj.notifyAll();
            try {
                obj.wait();
            } catch (InterruptedException e) {

                e.printStackTrace();
            }
        }
    }

}

}