javaSE 基础归纳
来源:互联网 发布:知其雄而守其雌的意思 编辑:程序博客网 时间:2024/05/16 11:30
此博内容全是自己的笔记,各位看官就别在这浪费时间啦!!–
ArrayList遍历输出
public static void main(String[] args) { List<String> mList = new ArrayList<String>(); mList.add("hello"); mList.add("张三"); mList.add("李四"); mList.add("王五"); // 方法一 for (int i = 0; i < mList.size(); i++) { System.out.println(mList.get(i)); } // 方法二 for (String string : mList) { System.out.println(string); } // 方法三 Iterator<String> it = mList.iterator(); while (it.hasNext()) { System.out.println(it.next()); } // 把字符串内容挨个输出 String str = "ABCDEFG"; for (int i = 0; i < str.length(); i++) { System.out.println(str.charAt(i)); } }
HashMap的遍历输出
public static void main(String[] args) { Map<Integer, Student> hm = new HashMap<Integer, Student>(); hm.put(1001, new Student("张三")); hm.put(1002, new Student("熊无")); hm.put(1003, new Student("林之海")); //方法一 Iterator<Integer> it = hm.keySet().iterator(); while (it.hasNext()) { int key = it.next(); Student values = hm.get(key); System.out.println("key-->"+key+"\tvalues-->"+values); } ////方法二(推荐) Iterator<Entry<Integer, Student>> it = hm.entrySet().iterator(); while (it.hasNext()) { Entry<Integer, Student> entry = it.next(); int key = entry.getKey(); Student s = entry.getValue(); System.out.println("key-->"+key+"\tvalues-->"+s); }}
接收从键盘输入的字符,并以大写输出,遇到exit结束
public static void main(String[] args){ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = null; try { while((s=br.readLine())!=null){ if (s.equalsIgnoreCase("exit")) { break ; } System.out.println(s.toUpperCase()); } br.close(); } catch (IOException e) { e.printStackTrace(); }}
判断一个字符串中相同的字符有多少个(用HashMap)
public static Map<Character, Integer> CountsCharacter(String str) {//str:要判断的字符串 Map<Character, Integer> hm = new HashMap<Character, Integer>(); char[] ch = str.toCharArray(); for (Character c : ch) { if (hm.containsKey(c)) { int values = hm.get(c); System.out.println(values); hm.put(c, values + 1); } else { hm.put(c, 1); } } return hm; }
ArrayList、HashSet、HashMap 都是线程不安全,如果想要线程安全,Collections 工具类提供了相关的 API,可以让上面那 3 个不安全的集合变为安全的
Collections.synchronizedCollection(c)Collections.synchronizedList(list)Collections.synchronizedMap(m)Collections.synchronizedSet(s)
上面几个函数都有对应的返回值类型,传入什么类型返回什么类型。打开源码其实实现原理非常简单,就是将集合的核心方法添加上了 synchronized 关键字
BufferedWriter和BufferedReader
public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("e:\\Student.java"))); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("e:\\a.txt"))); String str = ""; while ((str = br.readLine()) != null) { bw.write(str); bw.newLine();// 写入一个行分隔符。 } bw.flush(); IOUtils.closeReader(br); IOUtils.closeWriter(bw); System.out.println("文件复制成功!"); }
开启一个线程
new Thread(){ public void run(){ //do something } }.start(); new Thread(new Runnable(){ @Override public void run(){ } }).start(); Thread t = new Thread(){ @Override public void run(){ } }; t.start();
重写equals方法和hashCode方法
public boolean equals(Object object) { if (object == null) { return false; }else { if (object instanceof Student) { Student student = (Student) object; if(this.name==student.name&&this.num==student.num){ return true; } } } return false; } public int hashCode() { // return new Integer(id).hashCode(); //如果你设定的学生信息中学号是唯一的,则可以直接用num来作为哈希码 return num * this.name.hashCode(); }
生成一个四位的随机数
private static String randomText() { Random random = new Random(); Set<Integer> set = new HashSet<Integer>(); //Set中不允许有重复元素 while (set.size() < 4) { int randomInt = random.nextInt(10); //返回一个10以内的随机数 set.add(randomInt); //添加到set集合中去 } //此时set中的数据是[值1,值2,值3, 值4],接下来把它们存入字符串中 StringBuffer sb = new StringBuffer(); Iterator<Integer> iterator = set.iterator(); while(iterator.hasNext()){ int next = iterator.next(); sb.append(""+next); } return sb.toString(); }
0 0
- javaSE 基础归纳
- JavaSE基础
- JavaSE基础
- javase基础
- JavaSE基础
- javaSE基础
- JavaSE基础
- JavaSE基础
- JavaSE基础
- JavaSE 基础
- JavaSE基础
- 01javaSE基础 javaSE环境变量
- JavaScript基础知识点归纳
- Python 基础归纳整理
- 笔试基础归纳-8.16
- 笔试基础归纳-8.19
- 笔试基础归纳-8.21
- 笔试基础归纳-8.22
- 题目1161:Repeater
- lk启动流程详细分析
- ubuntu14.04安装tensorflow遇到的坑
- 求二叉树的下一个节点
- 汽车租赁
- javaSE 基础归纳
- 将金额转成大写汉字
- 孙鑫VC++深入详解笔记
- NuGet控制台为项目添加第三方程序集引用
- finalize()用法及用途【Java基础】
- 完全打开lk log的方法 【各平台差不多】
- android文件系统挂载分析(1)---正常开机挂载
- 关于stripe TLS1.2
- matplotlib图例中文乱码