zoukankan      html  css  js  c++  java
  • Java知识弥补-Android开发

    由于这学期开了android课程,好久没有接触的java已经彻底生疏了,常用的数据结构以及包都已经不大会用了,所以写一个知识弥补的博客,以便以后回忆。

    Java API

    数据结构

    1. Map-HashMap

    import java.util.Map;
    import java.util.HashMap;
    import java.util.Set;
    import java.util.Collection;
    
    Map<Integer,String> m1=new HashMap<Integer,String>();
    for(int i = 0 ; i < 10 ; i++){
        m1.put(i,String.format("test%d",i));
    }
    System.out.println(m1);
    
    Set<Map.Entry<Integer,String>>set=m1.entrySet();
    
    for(Map.Entry<Integer,String> entry:set){
        System.out.println(entry.getKey() + ":" + entry.getValue());
    }
    
    //查找某一个key对应的value
    m1.get(key);
    //判断是否存在
    m1.containsKey(4);
    m2.containsValue("test");
    
    Set<Integer>keys=m1.keySet();
    Collection<String> values = m1.values();
    
    //删除key对应的一对键值
    m1.remove(key);
    

    2. StringBuilder

    //主要操作是append 和 insert方法
    StringBuilder<String> sb = new StringBuilder<String>();
    sb.append("test");
    int sb.capacity();//返回当前容量
    char sb.charAt(int index);//得到对应的char值
    int sb.codePointAt(int index);//返回索引处字符
    StringBuilder sb.deleteCharAt(int index); //删除某处的字符
    //通常是start和end是与sb.length()相关的
    StringBuilder sb.delete(int start,int end); 
    //查找指定字符串
    int sb.indexOf(String str);
    //插入
    StringBuilder sb.insert(int offset,String str);
    StringBuilder sb.reverse();//翻转
    StringBuilder sb.replace(int start,int end,String str);//替换操作
    void trimToSize();//尝试减少字符序列存储空间
    String sb.toString();//返回字符串表示形式
    

    3. List-ArrayList

    List:大小可变数组

    boolean addAll (Collection<? extends E> c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
    boolean addAll (int index, Collection<? extends E> c) 从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
    void clear () 移除此列表中的所有元素。
    Object clone () 返回此 ArrayList 实例的浅表副本。
    boolean contains (Object o) 如果此列表中包含指定的元素,则返回 true
    void ensureCapacity (int minCapacity) 如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
    E get (int index) 返回此列表中指定位置上的元素。
    int indexOf (Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
    boolean isEmpty () 如果此列表中没有元素,则返回 true
    int lastIndexOf (Object o) 返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
    E remove (int index) 移除此列表中指定位置上的元素。
    boolean remove (Object o) 移除此列表中首次出现的指定元素(如果存在)。
    protected void removeRange (int fromIndex, int toIndex) 移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
    E set (int index, E element) 用指定的元素替代此列表中指定位置上的元素。
    int size () 返回此列表中的元素数。
    Object[] toArray () 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
    <T> T[] toArray (T[] a) 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
    void trimToSize () 将此 ArrayList 实例的容量调整为列表的当前大小。

    4. Vector

    import java.util.*;
    import java.util.List;
    import java.util.Vector;
    
    Vector<String> vec = new Vector<String>();
    String[] arr1={"a","b","c","d"};
    Vector<String> vec2 = new Vector<String>(Arrays.asList(arr1));
    
    
        
    //如何遍历
    Enumeration<String> iter = vec.elements();
    while(iter.hasMoreElements()){
    	System.out.println(iter.nextElement());
    }
    
    //其他一些属性:
    vec.capacity();    //vector容量
    vec.size();        //vector大小
    vec.isEmpty();     //是否为空
    vec.setSize(15);   //设置size
    vec.trimToSize();  //压缩到Size
    vec.hashCode();  //哈希码
    vec.equals(vec2); //相等
    
    //增删改查
    //增
    vec.add(0,"addthing");
    i=0
    vec.add(String.format("%d",i))//从尾部添加String
    vec.addAll(3,vec2)//从第3个元素,添加另外一个vector(如果没有3那就从尾部插入)    
    vec.add(8,"test")//在第8个位置添加“test”    
    vec.insertElementAt("test",3)//从第三个位置开始插入test
        
    //删
    vec.remove("deletething"); //删字符串
    vec.removeElementAt(2); //删第2个位置上的字符
    vec.removeAllElements();//全部删掉 = clear()
    
    //改
    vec.set(0,"start");//设置第0位置为start字符串
    
    //查
    //取某一位数据
    String str=vec.get(3);//vec的第三个位置的内容
    String str=vec.firstElement();
    String str=vec.lastElement();
    

    5. Stack

    Stack继承自Vector,所以继承了全部的方法,下面介绍特有的方法:

    Stack<Integer> s = new Stack<Integer>();
    for(int i = 0 ; i < 10 ; i++){
        s.push(i);
    }
    //压栈
    s.push(10);
    //取顶
    s.peek();
    //弹出顶
    Integer top = s.pop();
    //查找
    s.search(3); //找不到返回-1,找到则返回从后往前数的第几位(从栈顶开始数)
    

    6. Set

    import java.util.ArrayList;
    import java.util.Set;
    public static void setDemo() {
        int[] nums = new int[] {1, 4, 8, 3, 22, 34, 4, 6, 0, 33, 5, 6, 3, 9};
        List list = new ArrayList();
        for (int i:nums) {
            list.add(i);
        }
        System.out.println(list);
        //[1, 4, 8, 3, 22, 34, 4, 6, 0, 33, 5, 6, 3, 9]
        Set<Integer> set = new HashSet<Integer>();
        //remove duplicate elements
        set.addAll(list);
        System.out.println(set);
        //[0, 1, 33, 34, 3, 4, 5, 22, 6, 8, 9]
        set.add(4);   //4 is a duplicate element, so this will not take effect
        System.out.println(set);
        //[0, 1, 33, 34, 3, 4, 5, 22, 6, 8, 9]  
        System.out.println(set.size());    //11
    }
    
  • 相关阅读:
    mysql常用命令
    Navicat连接MySQL数据库出现 ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded
    java——Spring(3)
    java———Spring(2)(补充)
    Java——Spring(1)
    Struts2框架(2)
    Struts2框架(1)
    java——Mybatis(2)
    java——MyBatis(1)
    java——Hibernate(2)
  • 原文地址:https://www.cnblogs.com/pprp/p/9690621.html
Copyright © 2011-2022 走看看