package com.keke.demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

import com.sun.org.apache.xpath.internal.functions.Function;

public final class ListDemo {

final static public transient
int a = 100;
static int b = 100;

{
System.out.println("这里会执行吗?"+a +"==="+b);
}

public ListDemo(){
System.out.println("这里是构造方法执行的地方!");
}

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

new ListDemo();

//java.util.Collection jdk-api
//Collection 接口-----List接口 === Set接口
//List结合---ArrayList LinkedList Vector(ArrayList实现的原理都是一样的--线程安全的)//
//为什么会有集合?

//定义 数组你相当开辟一个长度为10的数组--一个动态数组
//集合条件元素是调用:add(object);
List<String> strings = new ArrayList<String>();//等价于String[] str = new String[10];
//jdk里面的ArrayList和Vectory他们是一个以1.5 * 10 + 1为扩展的动态数组 = 16--index--
strings.add("1");
strings.add("2");
strings.add("3");
strings.add("4");
strings.add("5");
strings.add("6");
strings.add("7");
strings.add("8");
strings.add("9");
strings.add("10");
strings.add("11");//添加到这一行的时候:数组的长度就变成:16
//泛型=--数据类型范围的置顶
LinkedList<String> linkedList = new LinkedList<String>();//他是数组吗?
linkedList.add("1");
linkedList.add("2");
linkedList.add("3");
linkedList.add("4");
linkedList.add("5");
linkedList.add("6");
linkedList.add("7");
linkedList.add("8");
linkedList.add("lucky");
linkedList.add("10");
//获取元素的第一个值
System.out.println("linked集合的长度是:"+linkedList.get(0));
int length = linkedList.size();
System.out.println("linked集合的长度是:"+length);
System.out.println("linked集合的最后一个元素的值是:"+linkedList.get(length-1));
//linkedList.remove(9);
linkedList.remove("lucky");//这个是根据元素值去删除

length = linkedList.size();
System.out.println("linked集合的最后一个元素的值是:"+linkedList.get(length-1));
System.out.println("linked集合的长度是:"+length);

System.out.println("==================Set==============");
//List :有序,而且允许有重复值
//Set:一个无序,并且不允许有重复值
Set<Integer> set = new HashSet<Integer>();
// set.add(1);
// set.add(2);
// set.add(2);
// set.add(1);
// set.add(3);
// for (Integer integer : set) {
// System.out.println(integer);
// }
// for (int i = 1; i <= 1000; i++) {
// set.add(i);
// }
//
// for (Integer integer : set) {
// System.out.println(integer);
// }

//Set<Integer> set2 = new LinkedHashSet<Integer>();//他就相当于去重的arryList
// Set<Integer> set2 = new TreeSet<Integer>(new MyComparator(false));//去重的并且排序,从小到大的排序器
// set2.add(1);
// set2.add(2);
// set2.add(2);
// set2.add(10);
// set2.add(10);
// set2.add(30);
// set2.add(13);
// set2.add(23);
// set2.add(443);
// set2.add(355);
// set2.add(13);
// set2.add(23);
// set2.add(53);
// set2.add(73);
// set2.add(39);
// set2.add(13);
// for (Integer integer : set2) {
// System.out.println(integer);
// }

Set<Date> dateSet = new TreeSet<Date>(new DateComparator(true));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-01 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-02 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-03 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-04 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-05 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-06 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-07 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-08 12:12:12"));
dateSet.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2014-12-09 12:12:12"));

for (Date date : dateSet) {
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date));
}

// //获取元素的第一值
// System.out.println("集合的第一个元素是:"+strings.get(0));
// //获取元素的最后一个值
// int length = strings.size();
// System.out.println("集合的长度是:"+length);
// System.out.println("集合的最后一个元素是:"+strings.get(length-1));
// strings.set(0, "1000");//修改
// System.out.println("集合的第一个元素是:"+strings.get(0));
// strings.remove(5);//根据下标去删除集合的元素
// strings.set(0, null);
// strings.set(2, null);
// strings.add(null);

// //用for取值
// System.out.println("======第一种foreach循环");
// for (String string : strings) {
// System.out.println(string);
// }
//
// System.out.println("======第三种Iterator循环");
// Iterator<String> iterator = strings.iterator();
// while(iterator.hasNext()){
// System.out.println(iterator.next());
// }

// System.out.println("======第二种for循环");

System.out.println("==============日期===========");
Date date = new Date();//java.util.Date--1970年
//String format = "yyyy-MM-dd HH:mm:ss";//这种格式是固定不变的 24小时制
//String format = "yyyy-MM-dd hh:mm:ss";//这种格式是固定不变的 12小时制

//String format = "yyyy年MM月dd日 hh时mm分ss秒";//这种格式是固定不变的 12小时制

//String format = "MM月yyyy年dd日 hh时mm分ss秒";//这种格式是固定不变的 12小时制
//String format = "MM月yyyy年dd日";//这种格式是固定不变的 12小时制
//String format = "HH:mm:ss E";//这种格式是固定不变的 12小时制
// String format = "yy-M-d H:m:s E w";//这种格式是固定不变的 24小时制
// System.out.println(new SimpleDateFormat(format).format(date));
//
// String dateString = "2014/12/12 12:12:12";
// Date date2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").parse(dateString);
// System.out.println(date2);

//类:成员内部类,静态内部类,匿名内部类,局部内部类(都还没有在任何一个地方看见过,方法里面定义类)

//这个接口或抽象类,我没有任何的子类
//用的很少
}
}

JAVA数组详解的更多相关文章

  1. java 数组详解

    from : http://blog.csdn.net/jionjionyoushen/article/details/6223006 1.关于数组的特点 1)在Java中,无论使用数组或集合,都有边 ...

  2. 【Java学习笔记之五】java数组详解

    数组 概念 同一种类型数据的集合.其实数组就是一个容器. 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度] ...

  3. Java - 数组详解(图解数组的基本操作)

    目录 什么是数组 数组的定义和内存分配 数组的赋值和访问 数组的注意事项 数组的内存图解 数组的插入 数组的删除 数组的扩容 数组的反转 首先 什么是数组 数组是一组地址连续.长度固定的具有相同类型的 ...

  4. Java 数组详解 - 用法、遍历、排序、实用API

    数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标. 组成数组的各个变量称为数组的分量,也称为 ...

  5. Java基础之 数组详解

    前言:Java内功心法之数组详解,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 数组概念 同一种类型数据的集合.其实数组就是一个容器. 数组 ...

  6. “全栈2019”Java第三十一章:二维数组和多维数组详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. “全栈2019”Java第三十章:数组详解(下篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第二十九章:数组详解(中篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第二十八章:数组详解(上篇)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. bzoj 4556 [Tjoi2016&Heoi2016]字符串——后缀数组+主席树

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4556 本来只要查 ht[ ] 数组上的前驱和后继就行,但有长度的限制.可以二分答案解决!然后 ...

  2. openVPN之Luci及tap模式

    一. 1.复制luci-sc-openvpn源码到/home/tingpan/openwrt/barrier_breaker/feeds/luci/applications文件夹下. 二. /home ...

  3. 【Spring环境搭建】在Myeclipse下搭建Spring环境-web开发

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" ...

  4. Appscan_web安全测试工具 (含修改启动浏览器的方法)

    安全测试应该是测试中非常重要的一部分,但他常常最容易被忽视掉. 尽管国内经常出现各种安全事件,但没有真正的引起人们的注意.不管是开发还是测试都不太关注产品的安全.当然,这也不能怪我们苦B的“民工兄弟” ...

  5. Java-Runoob-高级教程-实例-数组:04. Java 实例 – 数组反转

    ylbtech-Java-Runoob-高级教程-实例-数组:04. Java 实例 – 数组反转 1.返回顶部 1. Java 实例 - 数组反转  Java 实例 以下实例中我们使用 Collec ...

  6. wordpress模板里加keywords和description

    刚才我说了,wp会弄的话,功能是很强大的,插件很多,基本上你能想到的功能,插件都开发好了的.现在就来说说这个keywords和description的问题.我在网上找了些资料,总结一下,如果有引用到的 ...

  7. jquery拖动分页

    scrollpagination.js /* ** Anderson Ferminiano ** contato@andersonferminiano.com -- feel free to cont ...

  8. eterm和easyfare的官网地址

    里面有eterm下载和eterm文档资料 运价软件easyfare和easyfare的文档. https://www.eterm.com.cn/caci/eterm/index-cn.jsp http ...

  9. centos安装jdk1.7.80的rpm包

    1.jdk1.7.80的rpm的包的下载地址如下,请自己选择32位还是64位,下载完之后通过vmware的共享功能共享一个文件下,然后使用cp命令copy到linux系统中去. http://www. ...

  10. linux下一个启动和监测多个进程的shell脚本程序

    #!/bin/sh# Author:tang# Date:2017-09-01 ProcessName=webcrawlerInstanceCount=6RuntimeLog='runtime.log ...