《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);
}
《Java编程那点事儿》读书笔记(五)——System,Integer,Calendar,Random和容器的更多相关文章
- 《实战Java高并发程序设计》读书笔记五
第五章 并行模式与算法 1.单例模式 是一种对象创建模式,用于产生一个对象的具体实例,它可以确保系统一个类只产生一个实例. 对于频繁创建使用的对象可以省略new 操作花费的时间,可以减少系统开销. 由 ...
- 《Java并发编程的艺术》读书笔记:二、Java并发机制的底层实现原理
二.Java并发机制底层实现原理 这里是我的<Java并发编程的艺术>读书笔记的第二篇,对前文有兴趣的朋友可以去这里看第一篇:一.并发编程的目的与挑战 有兴趣讨论的朋友可以给我留言! 1. ...
- 《深入了解java虚拟机》高效并发读书笔记——Java内存模型,线程,线程安全 与锁优化
<深入了解java虚拟机>高效并发读书笔记--Java内存模型,线程,线程安全 与锁优化 本文主要参考<深入了解java虚拟机>高效并发章节 关于锁升级,偏向锁,轻量级锁参考& ...
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
- 《Java并发编程的艺术》读书笔记:一、并发编程的目的与挑战
发现自己有很多读书笔记了,但是一直都是自己闷头背,没有输出,突然想起还有博客圆这么个好平台给我留着位置,可不能荒废了. 此文读的书是<Jvava并发编程的艺术>,方腾飞等著,非常经典的一本 ...
- 《Effective Java中文版第二版》读书笔记
说明 这里是阅读<Effective Java中文版第二版>的读书笔记,这里会记录一些个人感觉稍微有些重要的内容,方便以后查阅,可能会因为个人实力原因导致理解有误,若有发现欢迎指出.一些个 ...
- 《深入分析Java Web技术内幕》读书笔记之JVM内存管理
今天看JVM的过程中收获颇丰,但一想到这些学习心得将来可能被遗忘,便一阵恐慌,自觉得以后要开始坚持做读书笔记了. 操作系统层面的内存管理 物理内存是一切内存管理的基础,Java中使用的内存和应用程序的 ...
- 《Java7并发编程实战手册》读书笔记
一.线程管理 1.线程的创建和运行 创建线程的2种方式: 继承Thread类,并覆盖run()方法 创建一个实现Runnable接口的类.使用带参数的Thread构造器来创建Thread对象 每个Ja ...
- 《实战Java高并发程序设计》读书笔记六
第六章 Java 8 与并发 1.函数式编程 函数作为一等公民: 将函数作为参数传递给另外一个函数这是函数式编程的特性之一. 函数可以作为另外一个函数的返回值,也是函数式编程的重要特点. 无副作用: ...
随机推荐
- 成为嵌入式程序员应知道的0x10个基本问题
预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 2 ...
- eclipse部署Tomcat6 : The server does not support version 3.0 of the JEE Web module specification
为项目添加tomcat 6,发现不能添加,原因如下 这是因为Tomcat6不能为JavaEE3.0版本服务,把项目的版本降低到2.5就可以了 现在可以部署了
- Leetcode#89 Gray Code
原题地址 二进制码 -> 格雷码:从最右边起,依次与左边相邻位异或,最左边一位不变.例如: 二进制: 1 0 0 1 1 1 0 |\|\|\|\|\|\| 格雷码: 1 1 0 1 0 0 1 ...
- ios containerViewController
- (void)replaceViewController:(UIViewController *)existingViewController withViewController:(UIViewC ...
- UIFontFamily
Family: Hiragino Kaku Gothic ProN W3 Font: HiraKakuProN-W3 Family: Courier Font: Courier ...
- GameMap地图初始化
init_map(res_path) .初始化mapbase的基本信息 pos2d screen_area = {, }; //普通屏幕大小 m_spBase->init(screen_area ...
- [工作记录] Android OpenGL ES 2.0: square texture not supported on some device
npot texture: non-power-of-two texture.rectangle texture: non-square (height != wdith) 在测试Samsumg Ga ...
- AngularJs学习笔记--Forms
原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...
- 大话C#之属性
前言 俗话说得好:工欲善其事,必先利其器.要想玩转OOP设计出一个优秀的类型,属性是必不可少的,那么我们今天就来说说c#中关于属性的二三事. 属性(property)分为无参属性(parameterl ...
- ubuntu安装后没有root密码
新安装的ubuntu没有设置root密码,也就不能登录到root账户下.要想设置root密码需要在当前账户下输入sudo passwd,然后输入当前用户的密码,然后输入两次root的新密码,即可完成r ...