java自学笔记(1)
java的ArrayList类型,就是一个数组; 我们可以通过java.util的 iterator进行迭代.
运行下面代码
import java.util.ArrayList; import java.util.Iterator; public class ArrayListIterator { public static void main(String[] args){ ArrayList list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); System.out.println("the list adds a,b,c"); Iterator it = list.iterator(); System.out.print("iterator results is:"); while(it.hasNext()){ System.out.print(it.next() + ","); }; System.out.println(); list.clear(); System.out.println("you has been remove list values"); } }
利用FileOutputStream和ObjectOutputStream把object保存到指定的文件中,
再次利用FileInputStream和ObjectInputStream打开我们上次保存的文件,
这里的new 的Box继承了Serializable;
运行下面代码
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; public class Box implements Serializable { private static final long serialVersionUID = -3450064362986273896L; private int width; private int height; public static void main(String[] args) { Box myBox=new Box(); myBox.setWidth(50); myBox.setHeight(30); try { FileOutputStream fs=new FileOutputStream("E:\\foo.txt"); ObjectOutputStream os=new ObjectOutputStream(fs); os.writeObject(myBox); os.close(); FileInputStream fi=new FileInputStream("E:\\foo.txt"); ObjectInputStream oi=new ObjectInputStream(fi); Box box=(Box)oi.readObject(); oi.close(); System.out.println(box.height+","+box.width); } catch (Exception e) { e.printStackTrace(); } } public int getWidth() { return width; } public void setWidth(int width) { this.width = width; } public int getHeight() { return height; } public void setHeight(int height) { this.height = height; } }
利用java.text.SimpleDateFormat 格式化日期
运行下面代码
public class Datetime { //会输出当前的时间; public static void main(String args[]){ java.util.Date current=new java.util.Date(); java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String c=sdf.format(current); System.out.println(c); } }
HashMap和Iterator的使用:
运行下面代码
import java.util.HashMap; import java.util.Iterator; public class DmHashMap { public static void main (String[] args) { System.out.println("****HashMap****"); HashMap hm = new HashMap(); hm.put("a", "0"); hm.put("b", "1"); hm.put("c", "2"); hm.put("d", "3"); //相当于js中数组的indexOf方法, 返回的是布尔值; System.out.println( hm.containsKey("a") ); //相当于js中数组的indexOf方法; System.out.println( hm.get("a") ); //返回一个对象 System.out.println( hm.entrySet() ); Iterator it = hm.entrySet().iterator(); while( it.hasNext() ) { System.out.println( it.next() ); }; //获取所有的key it = hm.keySet().iterator(); while( it.hasNext() ) { System.out.println( it.next() ); }; //获取所有的value it = hm.values().iterator(); while( it.hasNext() ) { System.out.println( it.next() ); }; }; };
循环的顺序是从后面往前面
DecimalFormat是格式化数字以后小数点的工具方法:
运行下面代码
import java.text.DecimalFormat; public class DoubleFormate { public static void main(String[] args) { java.text.DecimalFormat df=new java.text.DecimalFormat("0.00"); double d1=123456789.123456; double d2=987654321.987654321; System.out.println("format1_d1="+df.format(d1)); System.out.println("format1_d2="+df.format(d2)); DecimalFormat dff = new DecimalFormat("#,##0.00"); System.out.println("format2_d1="+dff.format(d1)); System.out.println("format2_d2="+dff.format(d2)); } }
GregorianCalendar是很强大的格式化时间工具方法:
运行下面代码
import java.util.*; public class ShowDate { public static void main(String[] args) { Calendar calendar = new GregorianCalendar(); Date trialTime = new Date(); calendar.setTime(trialTime); // PRint out a bunch of interesting things System.out.println("ERA: " + calendar.get(Calendar.ERA)); System.out.println("YEAR: " + calendar.get(Calendar.YEAR)); System.out.println("MONTH: " + calendar.get(Calendar.MONTH)); System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR)); System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH)); System.out.println("DATE: " + calendar.get(Calendar.DATE)); System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH)); System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR)); System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK)); System.out.println("DAY_OF_WEEK_IN_MONTH: " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH)); System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM)); System.out.println("HOUR: " + calendar.get(Calendar.HOUR)); System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY)); System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE)); System.out.println("SECOND: " + calendar.get(Calendar.SECOND)); System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND)); System.out.println("ZONE_OFFSET: " + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); System.out.println("DST_OFFSET: " + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); System.out.println("Current Time, with hour reset to 3"); calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override calendar.set(Calendar.HOUR, 3); System.out.println("ERA: " + calendar.get(Calendar.ERA)); System.out.println("YEAR: " + calendar.get(Calendar.YEAR)); System.out.println("MONTH: " + calendar.get(Calendar.MONTH)); System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR)); System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH)); System.out.println("DATE: " + calendar.get(Calendar.DATE)); System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH)); System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR)); System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK)); System.out.println("DAY_OF_WEEK_IN_MONTH: " + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH)); } }
使用for循环,循环ArrayList中保存的HashMap数据:
运行下面代码
import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; public class sortDemo { public static void main(String[] args) { List<Map<String, String>> list = new ArrayList<Map<String, String>>(); Map<String, String> map1 = new HashMap<String, String>(); map1.put("FINISH_DATA=2013-03-09", "BEGIN_DATA=2013-03-03"); Map<String, String> map2 = new HashMap<String, String>(); map2.put("FINISH_DATA=2013-01-19", "BEGIN_DATA=2013-01-13"); Map<String, String> map3 = new HashMap<String, String>(); map3.put("FINISH_DATA=2013-01-12", "BEGIN_DATA=2013-01-06"); Map<String, String> map4 = new HashMap<String, String>(); map4.put("FINISH_DATA=2013-01-05", "BEGIN_DATA=2012-12-30"); list.add(map1); list.add(map2); list.add(map3); list.add(map4); for (Map<String, String> m : list) { for (Map.Entry<String, String> en : m.entrySet()) { System.out.println(en.getKey() + " , " + en.getValue()); } } } }
java里面有三种数组ArrayList, Vector, 以及LinkedList;
运行下面代码
import java.util.Date; import java.util.ArrayList; import java.util.Vector; import java.util.Iterator; import java.util.LinkedList; public class TestIterator{ public static void main(String[] args) { ArrayList a = new ArrayList(); a.add("China"); a.add("USA"); a.add("Korea"); Iterator it = a.iterator(); while(it.hasNext()){ String country = (String)it.next(); System.out.println(country); }; Vector v = new Vector(); v.addElement(new Date()); v.addElement(new Date(200008755554L)); it = v.iterator(); while(it.hasNext()){ Date time = (Date)it.next(); System.out.println(time); }; LinkedList l = new LinkedList(); l.add("qihao"); l.add("nono"); l.add("hehe"); l.add("yeah"); Iterator ite = l.iterator(); while( ite.hasNext() ){ String i = (String) ite.next(); System.out.println( i ); }; } }
String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串方面的效率比String高了很多。
运行下面代码
public class UsingStringBuffer { public static void testFindStr() { StringBuffer sb = new StringBuffer(); sb.append("This is a StringBuffer"); System.out.println("sb.indexOf(\"is\")=" + sb.indexOf("is")); System.out.println("sb.indexOf(\"is\")=" + sb.indexOf("is", 3)); System.out.println("sb.lastIndexOf(\"is\") = " + sb.lastIndexOf("is")); System.out.println("sb.lastIndexOf(\"is\", 1) = " + sb.lastIndexOf("is", 1)); } public static void main (String[] args) { UsingStringBuffer us = new UsingStringBuffer(); us.testFindStr(); us.testSubStr(); us.testCharAtStr(); us.testAppend(); us.testDelete(); us.testInsert(); } public static void testSubStr() { StringBuffer sb = new StringBuffer(); sb.append("This is a StringBuffer"); System.out.print("sb.substring(4)=" + sb.substring(4)); System.out.print("sb.substring(4,9)=" + sb.substring(4, 9)); } public static void testCharAtStr() { StringBuffer sb = new StringBuffer("This is a StringBuffer"); System.out.println(sb.charAt(sb.length() - 1)); } public static void testAppend() { StringBuffer sb = new StringBuffer("This is a StringBuffer!"); sb.append(1.23f); System.out.println(sb.toString()); } public static void testDelete() { StringBuffer sb = new StringBuffer("This is a StringBuffer!"); sb.delete(0, 5); sb.deleteCharAt(sb.length() - 1); System.out.println(sb.toString()); } public static void testInsert() { StringBuffer sb = new StringBuffer("This is a StringBuffer!"); sb.insert(2, 'W'); sb.insert(3, new char[] { 'A', 'B', 'C' }); sb.insert(8, "abc"); sb.insert(2, 3); sb.insert(3, 2.3f); sb.insert(6, 3.75d); sb.insert(5, 9843L); sb.insert(2, true); System.out.println("testInsert: " + sb.toString()); } public static void testReplace() { StringBuffer sb = new StringBuffer("This is a StringBuffer!"); sb.replace(10, sb.length(), "Integer"); System.out.println("testReplace: " + sb.toString()); } public static void reverseStr() { StringBuffer sb = new StringBuffer("This is a StringBuffer!"); System.out.println(sb.reverse()); } }
本文作者:方方和圆圆
本文链接:https://www.cnblogs.com/diligenceday/p/4294076.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步