时间格式转换和四种数组

一、获取当前时间,转换字符串 和 字符串转换时间

    public static void main(String[] args) throws ParseException{
        String d="2018-06-28 19:20:56";
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(date));
        //时间转字符串用  .format
        Date date1=sdf.parse(d);
        //字符串转时间用 .parse
        System.out.println(date1);
    }

 public static void main(String[] args) throws ParseException{
          String time="20101125102503"; 
          //String类型的字符串
          SimpleDateFormat formatter1=new SimpleDateFormat("yyyy-HH-dd HH:mm:ss");
          //new一个时间格式对象
          SimpleDateFormat formatter2=new SimpleDateFormat("yyyyHHddHHmmss"); 
          //new一个时间格式对象
          time=formatter1.format(formatter2.parse(time)); 
          //formatter2对象的方法把parse(time)转换成formatter2样式的时间格式
          //formatter1对象的方法format(),把formatter2.parse(time)时间类型,转换成字符串类型的格式
          System.out.println(time); 
        }   

二、集合数组 (分为两类:类一、存放单值数据,类二、存放键值对数据)

存放单值类数组: 1. 数组, 2. ArrayList, 3. HashSet

1.数组 (属性:固定大小、单值、有序、可重复)

  • 创建:数据类型[] 变量名=new 数据类型[需要存放数据的个数]
  • 赋值:变量名[下标]=值
  • 取值:变量名[下标]
    注意事项:存数组的时候,不能超过实际设置的下标的值!不然程序执行的时候会报错误
    String[] la = new String[3];
        // 定义一个数组,然后取数组下标进行赋值
        la[0] = "aaa";
        la[1] = "bbb";
        la[2] = "ccc";
        la[3]="ddd";//这是一个错误的赋值,不能赋值超过数组容器的数量

        String[] lala = { "a001", "b001", "c001" };
        // 定义一个String数组,并直接赋值
        
        Integer[] ss = new Integer[2];
        // 定义一个整数类型的数组,整数类型用integer而不是用int
        ss[0] = 1;
        ss[1] = 2;

        for (int i = 0; i < la.length; i++) {
            System.out.println(la[i]);
        //for循环打印出数组中存的所有的值,如果没有存,默认打印0
        }
        int a = 0;
        while (a < la.length) {
            System.out.println("while循环:" + la[a]);
            a++;
        }

2. ArrayList (属性:不固定大小、单值、有序、可重复)

  • 创建:List<泛型>] 变量名=new ArrayList<泛型>();
  • 赋值:变量名.add(对应的数组类型);
  • 取值:变量名.get(数据位置);
        List<String> arr = new ArrayList<String>();
        //动态大小、有序、单值,用list数组,ArrayList向上转型为list
        arr.add("这是一个list数组");//.add();存值
        arr.add("这是第二个list");
        arr.add("这是第三个list");
        for (int b = 0; b < arr.size(); b++) {
            //除了数组arrer用length,全用size()获取数组中存的的数据的个数
            System.out.println("这是一个list数组的for循环:" + arr.get(b));
        }
        int a = 0;
        while (a < arr.size()) {
            System.out.println("这是list的while循环" + arr.get(a));
            a++;
        }
  1. Set(属性:不固定大小、单值、无序、值去重)
  • 创建:Set<泛型>] 变量名=new HashSet<泛型>();
  • 赋值:变量名.add(对应的数组类型);
  • 取值:因为Set数组是无序的,所以要用foreach遍历出来,或者用数组自带的排序方法 .iterator();,给自身进行排序,然后用排序后的.hasNext方法,进行取值
Set<String> Str = new HashSet<String>();
        // new一个Set类型的存储空间
        Str.add("SetNo1");
        Str.add("SetNo2");
        Str.add("SetNo3");
        Iterator<String> IteStr = Str.iterator();
        // 无序的数组做取数据之前,要给无序的数组排序,每个数组都有自己的排序方法Iterator()
        // 先写数组本身的排序方法Str.iterator(),鼠标放在上面即可看见返回的数据类型为:Iterator<String>

        while (IteStr.hasNext()) {
            // 因为数组中存的值的个数不固定,只能用while循环和foreach遍历
            // 排序后的数据,自带hasNext方法,意思是:是否有下一个,返回结果为true则执行,取值为,naxt 下一个
            String cc = IteStr.next();
            if (cc.equalsIgnoreCase("setno3")) {
                // if(cc.contains("SetNo3")),包含的意思,
                // equals:相等的意思 
                //equals() 大小写敏感,equalsIgnoreCase,大小写不敏感
                System.out.println(cc);
                break;
            }

        }
        for (String st : Str) {
        //foreach 遍历
            if (st.contains("SetNo2")) {
                // 只有全部的数据都要取,才用for遍历
                System.out.println(st);
                break;
            }
        }

泛型:广泛的类型!

定义一个数组,我们不光要在内存中划分存储的空间,还要确定这个数组存的什么类型的数据,虽然不加泛型可以存各种类型的值,但是取数据的时候怎么办?


存放键值对类数组: 1. Javabean 2. HashMap

  1. javabean (属性:键值对,固定大小,引用自写类属性、方法)
  • 创建:方法名 变量名=new 方法名();
  • 赋值:方法名.属性名字=属性名对应的类型的值 or 方法名.set属性名(属性名对应的值);
  • 取值:方法名.get(属性名);
    //这是自写的类,封装了属性和属性的set()、 get()方法
    public String Name ;
    public String getName() {
        return Name;
    }
    public void setName(String name) {
        Name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int age;
    @Override
    public String toString() {
        return "Person [Name=" + Name + ", age=" + age + ", getClass()="
                + getClass() + ", hashCode()=" + hashCode() + ", toString()="
                + super.toString() + "]";
    }


这是Javabean写法

    Person per = new Person();
        // 这是一个Javabean数组,把自己定义的类给new出来,使用里面的属性和方法

        per.age = 18;
        per.setName("顾虹雁");
        // 两种方法给new出来属性赋值
        
        System.out.println(per.getAge()+"  这是Javabean的get取值");
        System.out.println("这是我女神的名字:"+per.getName());
        //age  和  name 的get方法,分别取值打印
        
        String Result = per.toString();
        // 调用Person类下的toString方法,把赋的值打印出来
        System.out.println("这是一个javabean:" + Result);
  1. HashMap(属性:动态大小,键值对,key去重,无序存放数据)
  • 创建:Map<key数据类型,value数据类型> map=new HashMap<key数据类型,value数据类型>();
  • 赋值:变量名.put(key,value);
  • 取值:因为HashMap数组是无序的,所以要用foreach遍历出来,或者用数组自带的排序方法 .iterator();,给自身进行排序,然后用排序后的.hasNext方法,进行取值

   
        Map<String, String> map = new HashMap<String, String>();
        // 增加数据
        map.put("name", "guoya");
        map.put("age", "1");
        map.put("addr", "上海浦江镇");

        // 修改数据
        map.put("addr", "上海市闵行区浦江镇");

        // 取单个:
        String name = map.get("name");
        String age = map.get("age");

        // 通过entrySet()方法将map集合中的映射关系取出(这个关系就是Map.Entry类型)
        Set<Entry<String, String>> mapentry = map.entrySet();

        // 将关系集合entrySet进行迭代,存放到迭代器中
        Iterator<Entry<String, String>> it = mapentry.iterator();

        // 简写HashMap调用迭代器的方法
        // Iterator<Map.Entry<String, String>> iterator =
        // map.entrySet().iterator();
        while (it.hasNext()) {
            // 获取Map.Entry关系对象item
            Map.Entry<String, String> item = it.next();

            // 通过关系对象获取key
            String key = item.getKey();

            // 通过关系对象获取value
            String value = item.getValue();
        }
    
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,292评论 8 265
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,082评论 1 32
  • 在各种各样的小说里面,我最爱的,是穿越类和重生类。这两种小说都有个相似之处,就是对穿越或重生后的人生,有一定的了解...
    叶小七0o0阅读 236评论 0 0
  • 说说我为什么要坚持读书写书评。 ❤ 人生在世无非就是读书、历事、见人、行路,而这四种方法都能让我们学习到新的知识,...
    方知书影阅读 859评论 0 4
  • 说起来就好气哦,虽然从小就有点微胖,可是还是正常的孩子啊~听爸妈的话没上六年级,直接升初一,然后入学考试150分的...
    迟晨晚夕峰峰阅读 239评论 0 0