Java backup

待补充 ........

0:常用头文件(待补充)

import java.util.Arrays;
import java.util.HashSet;
import java.util.TreeSet;
import java.util.Map;
import java.util.HashMap;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.IOException;
import java.util.StringTokenizer;

import java.math.BigInteger;               //大整数
import java.math.BigDecimal;            //大浮点数

 

1:读入(from Petr)

class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;
    public InputReader(InputStream stream) {
        reader = new BufferedReader(new InputStreamReader(stream), 32768);
        tokenizer = null;
    }
    public String next() {
        while (tokenizer == null || !tokenizer.hasMoreTokens()) {
            try {
                tokenizer = new StringTokenizer(reader.readLine());
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
        return tokenizer.nextToken();
    }
    public int nextInt() {
        return Integer.parseInt(next());
    }
}
View Code

 

2:高精度的使用

 

3:Set 类的使用

  介绍:Java中的Set有三种常用的实现方式:

  (1)HashSet : HashSet将数据存储哈希表中,性能最佳。(无序)

  (2)TreeSet:   TreeSet将数据存储在红黑树中,数据的顺序依据数据的值。(有序)

  (3)LinkedHashSet:   LinkedHashSet中的数据存储在哈希表中,同时被链表贯穿着。它的顺序是按照插入的顺序。(有序)

  使用:

  (1)初始化、插入、删除、遍历

Set<Type> set = new HashSet<Type>();    //HashSet 初始化
Set<Type> set = new TreeSet<Type>();    //TreeSet 初始化

set.add(Type);       //元素插入

set.remove(Type);    //元素删除

set.contains(Type);  //如果包含某个元素,则返回 true

set.size();          //返回集合中的元素个数

set.clear();         //清空集合

set.isEmpty();       //如果集合为空,则返回 true

//遍历方法一:迭代器遍历
for(Iterator<Type> iterator = set.iterator();iterator.hasNext();){
     System.out.print(iterator.next() + " " );  
}

//遍历方法二:循环遍历
for(Type value : set){  
     System.out.print(value+" ");  
}

  (2)TreeSet 自定义比较方法

Set<Type> set = new TreeSet<Type>(new MyComparator());  //新的初始化方法

class MyComparator implements Comparator<Type>{    //自定义类
    public int compare(Type a, Type b) {  
        return ;  //自定义比较方法
    }  
}  

 

4:Map 类的使用(推荐博客推荐博客2

  介绍:HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序。

    如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。

  (1)初始化、插入、删除、遍历

Map<Type1, Type2> map = new HashMap<Type1, Type2>();  //初始化

map.put(Type1 , Type2);     //插入

map.remove(Type1);          //删除

map.clear();                //清空

map.get(Type1);             //返回与Type1相关的Type2

map.containsKey(Type1);     //如果包含指定键的映射,则返回 true

map.containsValue(Type2);   //如果将一个或多个键映射到指定值,则返 true,效率低

map.isEmpty();              //如果 Map 为空,则范围 true

map.size();                  //返回 Map 的映射数目

map.putAll(Map t);          //将 t 中的所有映射复制过来


//遍历主方法一:在for-each循环中使用entries来遍历

for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}

//遍历主方法二:在for-each循环中遍历keys或values(效率稍高)
 
for (Integer key : map.keySet()) {  //仅需要键
    System.out.println("Key = " + key);
}
 
//遍历map中的值
 
for (Integer value : map.values()) {  //仅需要值
    System.out.println("Value = " + value);
}

 

posted @ 2015-06-20 18:21  Naturain  阅读(461)  评论(0编辑  收藏  举报