2021-07-26

Date类
Date date=new Date();
System.out.println(date.getTime());//1970 date不支持国际化
Calendar类
Calendar c=Calendar.getInstance();//单例设计
Date d=c.getTime();//date与calendar可以相互转换
c.setTime(d);
System.out.println(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH+1))+"月"+c.get(Calendar.DATE)+"日"+c.get(Calendar.HOUR)+c.get(Calendar.MINUTE)+"分"+c.get(Calendar.SECOND)+"秒");

SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日kk小时mm分钟ss秒 E");//格式化
//SimpleDateFormat sdf=new SimpleDateFormat("yyyy//MM//dd kk:mm:ss秒 E");//格式化
String string= sdf.format(d);
String string1= sdf.format(c.getTime());


System.out.println(string);

System.out.println(c.get(Calendar.HOUR));

SimpleDateFormat sdf1=new SimpleDateFormat("yyyy//MM//dd kk:mm:ss E");
String string3="10:12:23 1999/3/24";
try {
    Date date3=sdf.parse(string3);
    System.out.println(date3);
} catch (ParseException e) {
    e.printStackTrace();
    //字符格式化
    int num=25421;
    NumberFormat numberFormat=new DecimalFormat("##,###,00");
    System.out.println(numberFormat.format(num));
    // TODO: handle exception
}

Date date=new Date();
date.setYear(99);//用1999-1900年
date.setMonth(1);
date.setDate(2);
System.out.println(date);
Calendar calendar=Calendar.getInstance();
calendar.set(calendar.YEAR, 1999);//这个就没有偏移量了
calendar.set(calendar.MONTH, 1);
System.out.println(calendar.get(Calendar.YEAR));


StringBuffer 与String
StringBuffer stringBuffer=new StringBuffer("abc");
System.out.println(stringBuffer);
String str="abc";
str=str+"123";
stringBuffer.append("123");//拼接字符串
System.out.println(stringBuffer);
System.out.println(stringBuffer.reverse());//逆序排列
//String 和StringBuffer区别:StringBuffer动态缓存,可以对字符串进行修改,string不能
//string 可以stringbuffer相互转换
String string=stringBuffer.toString();
StringBuffer stringBuffer1=new StringBuffer(string);
    }

集合-高级
把多个数据存起来的一个类,用集合类表示数据的存储,用集合类弥补数组的缺陷(长度固定、类型单一)
集合中只能存放对象不能存放基本数据类型

集合和数组有什么区别:
数组是容器,它的长度是固定的,不会自动扩充,数组中既可以存放基本数据类型也能存放引用数据类型的引用。
集合也是一种容器,它的长度是可变的,集合中只能存放引用数据类型的引用。
集合有3类:
set集是存放无序的(不可重复)
List有序的含有索引(可以重复)
Map映射,键值对,

层次结构的根接口
Collection接口
子接口set:无序集合,不可重复
set接口的实现类:HashSet
子接口List:有序集合允许重复。
List接口的实现类:ArrayList、LinkedList

List例1
    Student s1 = new Student();
        Student s2 = new Student();
        Student s3 = new Student();
        Student s4 = new Student();
        Student s5 = s2;
        // TODO Auto-generated method stub
        List list = new ArrayList();// 构建集合对象
        list.add("aaa");// 往末尾添加数据
        list.set(0, "111");//替换
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
//        list.add(s1);
//        list.add(s2);
//        list.add(s3);
//        list.add(s4);
        System.out.println(list.size());
//        list.remove(2);//消除索引位置的数据,只删除1条
//        for (int i = 0; i < list.size(); i++) {
//            String string = (String) list.get(i);
            Student stu = (Student) list.get(i);
            System.out.println(stu);
//            System.out.println(string);
//        }
        
        list.add(2, "123");
        // list.clear();
        System.out.println(list.contains("ddd"));
        System.out.println(list.contains(s5));//引用数据类型,地址相同
        
        for(Object o:list)
        {
            System.out.println(o);
        }
    }

结果
4
true
false
111
bbb
123
ccc
ddd
用LinkedList来模仿链表,头尾相接
private LinkedList linkedList=new LinkedList();
    public LinkedList getLinkedList() {
        return linkedList;
    }
    public void setLinkedList(LinkedList linkedList) {
        this.linkedList = linkedList;
    }
    public void addLast(Object obj){
        linkedList.addLast(obj);
    }
    public Object getLast(){
        Object object=linkedList.getLast();
        linkedList.removeLast();
        return object;
    }

test里
        StackLink stackLink=new StackLink();
        stackLink.addLast("aaa");
        stackLink.addLast("bbb");
        stackLink.addLast("ccc");
        stackLink.addLast("ddd");
        
        
        stackLink.getLast();
        stackLink.getLast();
        for(Object obj:stackLink.getLinkedList())
        {
            System.out.println(obj);
            
        }


set特点(无序不重复)
//        Set set = new HashSet();//无序的set集合
        Set set = new TreeSet();//有序的set集合
        set.add("aaa");
        set.add("bbbb");
        set.add("cccc");
        set.add("ddd");
        set.add("eee");
        //增强for循环方式,但是顺序是无序的
//        for(Object obj:set){
//            System.out.println(obj);
//        }
        //迭代器方式遍历
        Iterator iterator=set.iterator();
        while(iterator.hasNext()){
            Object object=iterator.next();
            System.out.println(object);
        }

Map:key-value
hashmap

    Map map = new HashMap();
        map.put("小张", "张三");
        map.put("小张", "张三123");
        map.put("小李", "李四");
        map.put("小王", "王五");
        System.out.println(map);
        Object object=map.get("小王");
        String string=(String)object;
        System.out.println(string);
        
        Set set=map.keySet();//获取键的集合
        
        map.remove("小王");//删除的是键值对


泛型:规范初始存放的类型
    List<String> list=new ArrayList<String>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        for (String s:list) {
            System.out.println(s);
        }
        Set<String> set=new HashSet<String>();
        Map<String, Student> map=new HashMap<String, Student>();
        map.put("小张", new Student());
    String string=list.get(1);

包装类/封装类
package com.neusoft.test6;

import java.util.ArrayList;
import java.util.List;

import org.omg.CORBA.LongHolder;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
            List<Integer> list=new ArrayList<Integer>();
//            Integer i1=new Integer(1);
//            Integer i2=new Integer(2);
//            Integer i3=new Integer(3);
//            Integer i4=new Integer(4);
//            Integer i5=new Integer(5);
//            list.add(i1);
//            list.add(i2);
//            list.add(i3);
//            list.add(i4);
//            list.add(i5);
            
            list.add(1);
            list.add(2);
            list.add(3);
            list.add(4);
            list.add(5);
//            for(Integer i:list){
//            System.out.println(i.intValue());    
//            }
            for(Integer i:list){
                System.out.println(i);    
                }
            //包装类、封装类:将8个基本数据类型对应做成的引用数据类型
            
//            int,char 另外6个都是首字母大写
//            double Double;
//            float Float;
//            boolean Boolean;
//            byte Byte;
//            short Short;
//            long Long;
//            char Character;
//            int Integer;
//            int num=100;
//            Integer integer=new Integer(100);
//            //他们俩是等价的,只不过表现形式不同,一种是基本数据类型,一种是引用数据类型
//            list.add(integer);
//            int i=integer.intValue();
//            
//            double d=3.14;
//            Double double1=new Double(d);//装箱
            
//            double d1=double1.doubleValue();//拆箱

            Double double2=new Double(3.14);
            double d2=double2;//自动拆箱
            
            //基本与引用类型的相互转换
//            
            Integer num=100;//自动封装,装箱
            
            String string="123";
            Integer i=Integer.parseInt(string);//将字符串转换为整形
            System.out.println(i+100);
            
            int num1=123;
            Integer i2=num1;
            System.out.println(i2.toString());//将整形以字符串类型转换
            System.out.println(123+"");//同上
                        
    }

}


简单叙述一下 Arraylist扩容 与 hashmap 扩容机制 ?
 Arraylist扩容是为1.5倍
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值