《Java编程那点事儿》读书笔记(五)——System,Integer,Calendar,Random和容器
System
1)arraycopy
int[] a = {1.2.3.4}; int[] b = new int[5]; System.arraycopy(a,1,b,3,2); //把数组a中从下标1开始的元素复制到数组b中下标为3的位置,总共复制2个元素
2)currentTimeMillis
long l = System.currentTimeMillis(); //返回当前时间与1970年01月01日0时0分0秒的差值数(毫秒)
3)gc:请求系统进行垃圾回收
4)public static String getProperty(String key):获得属性名key的属性对应的值,key可以取java.version,os.name,user.name,user.dir等等。
Integer类
1)和int的转换(java1.5及以上版本)
int m = 12; Integer in = m; //int转integer int n = in;//integer转int
2)parseInt:将数值字符串转化为int数值
String s = "123"; int n = Integer.parseInt(s); int m = Integer.parseInt(s,16); //将s按照16进制转换为int,例如s为“ff”,则得到255
3)toString:int转化为制定进制的字符串
public static int parseInt(String s,int radix)
Caledar类(java.util)
1)创建calendar类存放当前时间
Calendar c = Calendar.getInstance();
2)使用Calendar类代表指定时间
public final void set(int year,int month,int date) //月份为实际月份减1
Calendar c = Calendar.getInstance(); c.set(2009,3-1,9);
3)public void set(int field,int value)——只设定某个字段的值,feild可以取值Calendar.YEAR,Calendar.DAY_OF_WEEK等。
4)public int get(int feild)——获得Calendar对象中对应的信息。
5)public abstract void add(int feild, int amount)
将日期增加100天
c.add(Calendar.DATE, 100);
6)public boolean after(Object when):判断当前日期是否在when后面,在就返回true,否则返回false
public static void main(String[] args) { // TODO Auto-generated method stub Calendar c = Calendar.getInstance(); c.set(2009, 3-1,9); Calendar c1 = Calendar.getInstance(); c1.set(2009, 5-1,9); long t1 = c1.getTimeInMillis(); long t2 = c.getTimeInMillis(); long days = (t1-t2)/(24*60*60*1000); System.out.println(days); }
Random类(java.util)
1)public Random(long seed)
Random r = new Random(10);
2)public boolean nextBoolean() //50%的概率生成true或者false
3)public int nextInt() //生成-231~231-1之间的数
public int nextInt(int n) //生成[0,n)之间的数
4)public double nextDouble() //生成[0,1.0)之间的小数
List系列
常用的有ArrayList 和 LinkedList
List list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); list.add("1"); list.add("1"); list.add(1,"12"); //在索引为1的地方插入12,后面的元素往后移动 list.set(2, "a"); //索引值为2的元素设置为a list.remove("1"); //删除列表中的第一个1 list.remove(1); //删除索引值为1的元素
Set系列:不允许重复
Set set = new HashSet(); set.add("1"); set.add("2"); set.add("3"); set.add("1"); set.add("1"); set.remove("1");//删除集合里面的1,集合里面就没有1了 Iterator iterator = set.iterator(); while(iterator.hasNext()){ System.out.println((String)iterator.next()); }
上述代码输出3,2
Map系列(以HashMap为例)
HashMap<String,Double> map = new HashMap<String,Double>(); //注意这里不能用double map.put("Apple", 0.5); map.put("orange", 2.0); map.put("banana",3.0); //删除key为orange的键值对 map.remove("orange"); //修改Apple对应的值 map.put("Apple", 1.2); Set set = map.keySet(); Iterator iterator = set.iterator(); while(iterator.hasNext()){ String key = (String)iterator.next(); double value = (Double)map.get(key); System.out.println(key + "\t" + value); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了