java自学笔记(1)
2023-09-11 14:17:26 时间
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()); } }
相关文章
- Java学习之java高级特性
- Java+FlashWavRecorder实现网页录音并上传
- Java 从原字符串中截取一个新的字符串 subString()
- Java: mysql-connector-java
- 微信公众平台开发教程Java版(六) 事件处理(菜单点击/关注/取消关注)
- java字节码生成框架及使用示例
- CSDN日报191016:Java纯干货分享:史上最全的JAVA工程师面试题汇总
- Java项目(前端vue后台java微服务)在线考试系统(java+vue+springboot+mysql+maven)
- java线程面试题及答案线程安全线程锁线程
- java里有没有专门判断List里有重复的数据
- 【Java】java数据库连接池配置的几种方法
- 【Java】java的内存浅析
- Java中的Spring Boot 2.0简介笔记
- java 魔术
- Java模拟登陆新浪微博抓取数据【转载】
- Java Design Demo -简单的队列-异步多任务队列(java android)
- 通过java实现ldap修改AD域用户密码(最新,详细)
- java高级用法之:在JNA中将本地方法映射到JAVA代码中
- java学习笔记(4)运算符
- JAVA学习笔记之音乐播放器雏形
- Java中合并多个视频文件转换一个新的视频
- 【Java】Java学习笔记-基础语法
- 【Java】Java学习笔记-变量和数据类型
- 关于Java基础的一些笔试题总结
- java项目采用exe4j打包成exe档
- JAVA修饰符类型(public,protected,private,friendly)
- 狂神说笔记——Java SE基础03
- Java 编程的动态性 第1 部分: 类和类装入--转载
- Java笔记7:最简单的网络请求Demo
- 多种方式解决Java控制台报错 java.util.LinkedHashMap cannot be cast to.....
- java最新工作流引擎Activiti7-管理流程-创建申请-经理审核-财务审核-结案
- Java 线程间通信