有意思的记录-Java

来源:互联网 发布:mac air 怎么设置壁纸 编辑:程序博客网 时间:2024/05/29 18:00

1.文件读取

项目外的绝对路径或相对路径文件读取

String path = "/xx/xx.txt";BufferedReader reader = new BufferedReader(    new FileReader(new File(path));

项目内(常常是resources目录下)或jar包内文件读取

InputStream file = this.getClass().getClassLoader().getResourceAsStream("/xx/xx.txt");//或者xx.class.getResourceAsStream("xx.txt");BufferedReader reader = new BufferedReader(new InputStreamReader(file, "UTF-8"));

2.List遍历删除

Iterator<String> it = list.iterator();while (it.hasNext()) {    String str = it.next();    //if xx    it.remove();}

3.单例模式

//基于classloder避免多线程同步问题public class Singleton {      private static final Singleton instance = new Singleton();      private Singleton (){}    public static Singleton getInstance() {          return instance;      }}//双重校验,避免内存栅栏public class Singleton {      private volatile static Singleton singleton;      private Singleton (){}       public static Singleton getSingleton() {          if (singleton == null) {              synchronized (Singleton.class) {                  if (singleton == null) {                      singleton = new Singleton();                  }              }          }          return singleton;      }  }

4.遍历HashMap

HashMap mp = new HashMap(); Iterator it = mp.entrySet().iterator();while (it.hasNext()) {    Map.Entry pair = (Map.Entry)it.next();    System.out.println(pair.getKey() + " = " + pair.getValue());    it.remove(); // avoids a ConcurrentModificationException}




1 0
原创粉丝点击