標籤:
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數組詳解