方法参数
int deleteBookById(int id);
//给int 类型的方法传入一个int 类型的参数
方法的参数列表指定要传什么样的信息给方法,在参数列表中必须指定每个所传递对象的类型及名称。
TreeMap:
输入一个字符串 并查看每个字符出现的次数
//输入一个字符串 并查看每个字符出现的次数
public class HashMapDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个字符串");
String s = sc.nextLine();
TreeMap<Character, Integer> hm = new TreeMap<Character, Integer>();
for (int i = 0; i < s.length(); i++) {
char key = s.charAt(i);
Integer value = hm.get(key);
if (value == null) {
hm.put(key, 1);
} else {
value++;
hm.put(key, value);
}
}
StringBuilder sb = new StringBuilder();
Set<Character> keySet = hm.keySet();
for (Character key : keySet) {
Integer value = hm.get(key);
sb.append(key).append("(").append(value).append(")");
}
String result = sb.toString();
System.out.println(result);
}
}
字节流
-
按照数据的流向:
- 输入流
- 输出流
-
按照数据的类型:
- 字节流:
- InputStream:字节输入流的父类
- OutStream:字节输出流的父类
- 字符流
一般按照数据类型来分,如果通过自带的记事本打开,可以读懂里面的内容,就使用字符流,否则使用字节流。
getbytes:返回字符串对应的字节数组。“aaa”则返回aaa
字节缓冲流:
- BufferOutputStream:该类实现缓冲输出流,通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为每个字节导致底层系统的调用。
- BufferInputStream:创建 BufferInputStream 将创建一个内部缓冲区数组,当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次很多细节。