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. mssql存储过程 事务

    USE [EtownDB]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate PROCEDURE InsWxqunfaChildtb @logi ...

  2. sql having 函数 按匿名字段作为条件进行查询

    今天写sql 遇到一个问题 SELECT a.*, count(b.id) AS nums FROM a LEFT JOIN b ON a.id=b.a_id WHERE nums>1 这时候会 ...

  3. BASIC-8_蓝桥杯_回文数

    示例代码: #include <stdio.h> int main(void){ int i = 0 ; int a = 0 , b = 0 , c = 0 , d = 0 ; for ( ...

  4. A request has been denied as a potential CSRF attack错误解决方法

    2018-05-30 13:40:50 [http-nio-8081-exec-3] [ERROR] com.opensymphony.xwork2.interceptor.ParametersInt ...

  5. binlog之五:mysqlbinlog解析binlog乱码问题解密

    发现MySQL库的binlog日志出来都是乱码,如下所示: BINLOG ’ IXZqVhNIAAAALQAAAGcBAAAAAHoAAAAAAAEABHRlc3QAAno0AAEDAABUOcnY  ...

  6. vertical-align表单元素垂直对齐

    原文地址:http://www.blueidea.com/tech/web/2009/6910.asp 最近的项目涉及到很多表单的制作,特别是复选框(checkbox)和单选框(radio).但是在前 ...

  7. ubuntu14.04 login loop issue

    无法进入图形界面的所有问题几乎都碰到了,可惜尝试所有办法,还是各种broken packages 等,无法重装 ubuntu-desktop 成功. 耽误了2天,果断决定重装系统算了..尽管很多软件, ...

  8. linux开机服务自启

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,主要用三种方式进行这一操作: ln -s             在/etc/rc.d/rc*.d目录中建立/etc/init.d/ ...

  9. linux下一个监测进程CPU和MEM使用率的shell脚本

    #!/bin/bashPID=$1 cpu=`ps --no-heading --pid=$PID -o pcpu`mem=`ps --no-heading --pid=$PID -o pmem`ec ...

  10. python redis启用线程池管理

    pool = redis.ConnectionPool(host=REDIS_HOST, port=REDIS_PORT,max_connections=3,password=REDIS_PASSWO ...