【java】记录一下java的常用用法
1、二维数组
1 public static void main(String[] args) { 2 3 //定义 4 int a[][] = {{1,2,3},{4,5,6},{7,8,9}}; 5 int [][] b = new int[3][3]; 6 7 int num1 = a.length; //读取行数 8 int num2 = a[0].length;//读取列数 9 10 }
2、字符串
1 public static void main(String[] args) { 2 3 //定义 4 String s = "string is me"; 5 String ss = new String("string"); 6 7 int len = s.length(); //字符串的长度 8 boolean flag = s.equals(ss); //比较字符串是否相等 9 int flag1 = s.compareTo(ss); //字典序比较字符串 10 boolean flag2 = s.contains(ss); //判断s中有没有ss 11 12 char ch = 'm'; 13 int num3 = s.indexOf(ch); //从左往右查找ASCII码为ch的字符,存在返回下标 14 15 String sub1 = s.substring(1,3); //返回下标从1-2的字符串 16 String str = s.concat(ss); //拼接两个字符串 17 18 s.toUpperCase();s.toLowerCase(); //转成大写和小写 19 20 String str1 = s.replace("me", "you"); //将前面的字符替换成后面的 21 String str2 = s.replaceAll(" ", "-"); //只要遇到前面的,全部替换成后面 22 23 String str3 = s.trim(); //去掉字符两端的空格 24 25 26 27 }
3、list(ArrayList)
1 public static void main(String[] args) { 2 3 //定义 4 List<String> name = new ArrayList<>(); 5 6 //add()添加 7 name.add("Jin");name.add("Suga"); 8 name.add("Jhope");name.add("RM");name.add("JM"); 9 name.add("V");name.add("JK");name.add("ARMY"); 10 11 name.remove(7); //去掉第8个 12 name.remove("ARMY"); //去掉ARMY 13 14 String per; 15 per = name.get(6); //取出第七个 16 17 //遍历 18 for(int i = 0; i < name.size();i++) { 19 System.out.println(name.get(i)); 20 } 21 for(String st: name) { 22 System.out.println(st); 23 } 24 25 boolean love = name.contains("JK"); //判断是否包含该字符串 26 name.set(0, "金硕珍") ; //将第一个替换成所给字符串 27 name.add(0, "方PD"); //将第一个位置插入所给字符串,后面的向后移 28 int v = name.indexOf("V"); //寻找字符串的索引位置 29 30 List <String> BTS = new ArrayList<>(); 31 BTS = name.subList(1, 8); //取出索引[1,8)的元素成为新的list 32 33 boolean bighit = name.equals(BTS); //看两个对象是否相等 34 String dahei = name.toString(); //转成字符串,转成数组就是.toArray() 35 36 //去重 37 List<String> bangdan=new ArrayList<>(); 38 for(String sstr: name) { 39 if(Collections.frequency(bangdan, sstr) < 1) { 40 bangdan.add(sstr); 41 } 42 } 43 44 }
4、大整数
public static void main(String[] args) { //初始化 BigInteger n1 = new BigInteger("2"); BigInteger n2 = BigInteger.valueOf(1); BigInteger sum = n1.add(n2); //加 BigInteger sub = n1.subtract(n2); //减 BigInteger mul = n1.multiply(n2); //乘 BigInteger div = n1.divide(n2); //除 System.out.println(sum+" "+sub+" "+mul+" "+div); BigInteger gcdn = n1.gcd(n2); //最大公约数 BigInteger modn = n1.mod(n2); //取模 BigInteger pown = n1.pow(2); //n次方 n为整数 System.out.println(gcdn+" "+modn+" "+pown); //比较 if(n1.compareTo(n2) > 0) System.out.println(">"); else if(n1.compareTo(n2) == 0) System.out.println("="); else if(n1.compareTo(n2) < 0) System.out.println("<"); System.out.println(n1.toString()); //十进制的字符串形式 }
5、Set(TreeSet)
1 public static void main(String[] args) { 2 Scanner sc = new Scanner(System.in); 3 int n = sc.nextInt(); 4 Set <Integer>set = new TreeSet<>(); 5 6 //判重 7 for(int i = 0; i < n ;i++) { 8 if(set.add(sc.nextInt())) { 9 continue; 10 } 11 else { 12 System.out.println("重复啦"); 13 } 14 } 15 //有序排列,且不会存重复元素 16 for(Integer val : set) { 17 System.out.print(val+" "); 18 } 19 System.out.println(""); 20 21 //直接重写comparator中的方法 22 //自定义排序主要是通过实现Comparable接口,重写comparaTo函数。 23 TreeSet<Integer> set1 = new TreeSet<Integer>(new Comparator<Integer>() { 24 @Override 25 public int compare(Integer o1, Integer o2) { 26 return o2-o1; 27 } 28 29 }); 30 set1.add(1);set1.add(2);set1.add(3); 31 32 for(Integer val : set1) { 33 System.out.print(val+" "); 34 } 35 36 }
6、Map(HashMap)
1 public static void main(String[] args) { 2 //TreeMap默认按key进行升序排序,如果想改变默认的顺序,可以使用比较器 3 4 Map<Integer,String> mp = new HashMap<Integer,String>(); 5 mp.put(1,"A");mp.put(2, "B");mp.put(3, "C");mp.put(4, "D"); 6 System.out.println(mp.get(1)); //A 7 mp.remove(1); //移除A 8 //mp.clear(); //清空 9 10 //返回 Map 中所包含映射的 Set 视图 11 System.out.println(mp.entrySet()); //2=B, 3=C, 4=D 12 //返回 map 中所包含值的 Collection 视图 13 System.out.println(mp.values()); //BCD 14 //返回 Map 中的键-值映射的数目 15 System.out.println(mp.size()); //3 16 17 //遍历方式 18 for(Integer key: mp.keySet()) { 19 System.out.print(key +":"+mp.get(key)+","); //2:B,3:C,4:D, 20 } 21 22 }