Java基础点滴记录
2015-09-15 00:00
447 查看
1、在Java正则表达式中点号(.)可以代表一个中文字符;
2、Collections.sort()使用-返回负数值的对象排在前面,正值在后面:
3、如何将System.out.println()打印输出到指定的文件中,如下:
说明:System类的out属性是全局静态变量,使得整个系统都会写入该文件,即使在其它线程里的打印;
public final static PrintStream out = nullPrintStream();
4、关于Map的排序
(1)、对Map的键进行排序的方法, 可以使用TreeMap的数据结构,传递一个比较器给其构造函数:
构造一个新的、空的树映射,该映射根据给定比较器进行排序。
(2)、对Map的值进行排序,先将其转成List对象后再排序,如下:
5、如何使用命令行编译执行java文件,依赖包的使用:
(1)编译
(2)执行:
6、如何执行带有包路径的类:
(1)Java文件:
package com.jd.jcc;
public class Test{
public static void main(String[] args){
System.out.println("Test class ");
}
}
(2)执行指令(注意-d后面那个点,代表放在当前路径):
7、快速实现对象深拷贝
public static Object deepClone(Object obj) throws IOException, ClassNotFoundException{
/* 写入当前对象的二进制流 */
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
/* 读出二进制流产生的新对象 */
ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bis);
return ois.readObject();
}
2、Collections.sort()使用-返回负数值的对象排在前面,正值在后面:
public static void main(String[] args){ List<Integer> list = new ArrayList<Integer>(); list.add(2); list.add(1); list.add(0); list.add(3); Collections.sort(list, new Comparator<Integer>(){ @Override public int compare(Integer o1, Integer o2) { if(o1.intValue() >o2.intValue()){ return 1; } if(o1.intValue() < o2.intValue()){ return -1; } return 0; } }); System.out.println(list); } 结果:[0, 1, 2, 3]
3、如何将System.out.println()打印输出到指定的文件中,如下:
public static void main(String[] args) { try{ PrintStream ps = new PrintStream("D:/log.txt"); System.setOut(ps); System.out.println("print log to file"); }catch(FileNotFoundException e){ e.printStackTrace(); } new Thread(new Runnable() { public void run() { System.out.println("I am thread log"); } }).start(); }
说明:System类的out属性是全局静态变量,使得整个系统都会写入该文件,即使在其它线程里的打印;
public final static PrintStream out = nullPrintStream();
4、关于Map的排序
(1)、对Map的键进行排序的方法, 可以使用TreeMap的数据结构,传递一个比较器给其构造函数:
TreeMap(Comparator<? super K> comparator)
构造一个新的、空的树映射,该映射根据给定比较器进行排序。
(2)、对Map的值进行排序,先将其转成List对象后再排序,如下:
Map<String,Integer> countMap=new HashMap<String,Integer>(); for(String s:readLine){ String[] split = s.split("modelName"); String r = "modelName"+split[1]; Integer integer = countMap.get(r); countMap.put(r, (integer==null?1:integer+1)); } List<Entry<String, Integer>> entrySet = new ArrayList<Map.Entry<String,Integer>>(countMap.entrySet()); Collections.sort(entrySet,new Comparator<Entry<String, Integer>>() { public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { if(o1.getValue() > o2.getValue()){ return -1; } if(o1.getValue()<o2.getValue()){ return 1; } return 0; } });
5、如何使用命令行编译执行java文件,依赖包的使用:
(1)编译
(2)执行:
6、如何执行带有包路径的类:
(1)Java文件:
package com.jd.jcc;
public class Test{
public static void main(String[] args){
System.out.println("Test class ");
}
}
(2)执行指令(注意-d后面那个点,代表放在当前路径):
7、快速实现对象深拷贝
public static Object deepClone(Object obj) throws IOException, ClassNotFoundException{
/* 写入当前对象的二进制流 */
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(obj);
/* 读出二进制流产生的新对象 */
ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bis);
return ois.readObject();
}
相关文章推荐
- JAVA数字大写金额转换
- java中hashmap获取list
- 整合hibernate4到spring4mvc框架
- Java初学笔记
- java学习:this与supper
- java学习:引用
- 关于java runtime.exec()
- java中调用外部exe文件
- Servlet---JavaWeb技术的核心基础,JavaWeb框架的基石(一)
- Javaweb的基础
- Java中的Enum的使用与分析
- 大文件处理【java以及数据清洗相关】
- java.sql.Types,数据库字段类型,java数据类型的对应关系
- Java虚拟机内存模型
- spring下的子项目
- Spring+Mybatis+mysql配置
- Java设计模式之策略模式
- DOM,JAVA
- java单例设计模式
- 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法