ruijiege

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

hashmap

线程不安全,可以存入null,key不可重复(怎么实现不可重复呢?),values可以重复,

实现的时在数组中用key值通过hashcode来存一位置,如果key值相同就通过链表把其连接起来,如果长度大于8的时候就是用红黑树

常用方法,keySet,EntrySet,values,put,contion等方法

实现一个String str="dsagjgsadjiof"找出其中的字符个数的方法,思想,通过不可重复的key每当出现一次的时候就values+1

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String str = "ABCDEABCDABC";
        query(str);
    }
    /*字符串String str = “ABCDEABCDABC”;定义一个方法query,
    该方法算出该字符串中每一个字符的个数,打印格式如:
    A——3
    B——3*/
    public static void query(String string){
        char[] c=string.toCharArray();
        HashMap hashMap = new HashMap();
        for (char d : c) {
            if(hashMap.containsKey(d)){
                hashMap.put(d, (int)hashMap.get(d)+1);
            }else{
            hashMap.put(d, 1);
            }
        }
View Code

collections

集合操作类,把集合操作里面和Arrays中的方法差不多copy,max等等

hashtable

同步的方法实现线程安全,不能为null

concrrenthashmap

同步的代码块,这样速度更快也线程安全,不能为null

propreties

是hashtable的子类可以实现把内存的数据读入磁盘

package cn.jiedada.homework;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
import java.io.Reader;
import java.util.Properties;

public class PropretiesTest {
    private static Reader inStream;
    //相对路劲:该文件为根目录
    //绝对路劲:磁盘上的路劲
    //3. 使用Properties把自己的 姓名-年龄 存放起来,然后写到磁盘文件上面;
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        Properties properties = new Properties();
        //不能用put要用set方法这样才能存入
        PrintStream printStream = new PrintStream("杰帅.txt");
        properties.setProperty("杰帅", "21");
        properties.list(printStream);
        FileInputStream fileInputStream = new FileInputStream("杰帅.txt");
        properties.load(fileInputStream);
        System.out.println(properties);
    }

}
View Code

泛型

extends为上线,super为下线,把数据的存入取出指定一个范围,只能对这一种元素操作

posted on 2019-08-02 19:42  哦哟这个怎么搞  阅读(131)  评论(0编辑  收藏  举报