1.Java 语言数据基本类型:8种,整型、浮点类型、字符类型和boolean类型。
2.删除字符串中指定元素:abcabcabc 中删除 ab。
3.ArrayList类 和 LinkedList类 区别:
ArrayList类 内部采用数组存储元素,支持高效随机访问,支持动态调整大小;
LinkedList类 内部采用链表存储元素,支持快速插入/删除元素,不支持高效随机访问;
Vector类 所有方法都是同步的 synchronized。
4.线程安全:Vector HashTable StringBuffer。
5.读取输入,统计次数,存储数据,冒泡排序,输出
1 import java.util.HashMap; 2 import java.util.Map; 3 import java.util.Scanner; 4 5 public class Demo { 6 public static void main(String[] args) { 7 // TODO Auto-generated method stub 8 System.out.println("请输入任意数量的数字(输入-1结束):"); 9 Scanner in = new Scanner(System.in); 10 int input; 11 Map<Integer, Integer> map = new HashMap<>(); //统计每个数字出现的次数 12 while((input = in.nextInt()) != -1) { 13 Integer count = map.get(input); 14 map.put(input, count == null ? 1 : count + 1); 15 } 16 int size = map.size(); 17 int[] num = new int[size]; //存储输入数字 18 int[] count = new int[size]; //存储对应数字的次数 19 int i = 0; 20 for(Map.Entry<Integer, Integer> entry : map.entrySet()) { 21 num[i] = entry.getKey(); 22 count[i] = entry.getValue(); 23 i++; 24 } 25 26 //根据出现次数进行冒泡排序 27 for(int j = 1; j <= size - 1; j++) { 28 boolean change = true; 29 for(int k = 0; k < size - j; k ++) { 30 change = false; 31 if(count[k] > count[k + 1]) { 32 int temp = count[k]; 33 count[k] = count[k + 1]; 34 count[k + 1] = temp; 35 36 temp = num[k]; 37 num[k] = num[k + 1]; 38 num[k + 1] = temp; 39 40 change = true; 41 } 42 } 43 } 44 45 //输出 46 System.out.println("数字 次数"); 47 for(int j = 0; j < size; j++) { 48 System.out.println(num[j] + " " + count[j]); 49 } 50 } 51 }
6.空值问题
集合类 | Key | Value | Super | 说明 |
HashMap | 空值 | 空值 | AbstractMap | 线程不安全 |
TreeMap | 非空 | 空值 | AbstractMap | 线程不安全 |
ConcurrentHashMap | 非空 | 非空 | AbstractMap | 线程局部安全 |
HashTable | 非空 | 非空 | Dictionary | 线程安全 |