zoukankan      html  css  js  c++  java
  • Java程序员的日常 —— 《编程思想》持有对象

    集合框架可以说是Java里面必备的知识点了,日常的使用中也会遇到各种情况需要使用到集合。下面就简单介绍下各种集合的使用场景:

    List

    List可以看做是数组,实现的方式有两种:

    • ArrayList 适合随机访问
    • LinkedList 适合做插入删除操作

    Queue和Stack

    这两种数据结构都可以通过LinkedList来实现

    Map

    Map用于保存键值对,常用的实现方式有:

    • HashMap 使用散列表实现
    • TreeMap 基于红黑树,保证键的排序
    • LinkedHashMap 基于链表的哈希,能保证插入的顺序性

    Set

    与Map相比,set不接受重复的值

    实现的方式与Map类似。

    工具类

    其实就俩,Collections以及Arrays,有空就需要看看。

    技巧

    首先可以通过iterator遍历列表以及map。用户也可以自己定义iterator实现倒序遍历。

    如:

    class ReversibleArrayList<T> extends ArrayList<T>{
    	public ReversibleArrayList(Collection<T> c){
    		super(c);
    	}
    	public Iterable<T> reversed(){
    		return new Iterable<T>() {
    			public Iterator<T> iterator(){
    				return new Iterator<T>(){
    					int current = size() -1 ;
    					public boolean hasNext(){
    						return current > -1;
    					}
    					public T next(){
    						return get(current--);
    					}
    					public void remove(){
    						throw new UnsupportedOperationException();
    					}
    				};
    			}
    		};
    	}
    }
    
  • 相关阅读:
    Android之动态图片
    Java之简单图形面积计算
    Java之姐妹素数
    Java之经典Student问题2
    数据库事务四大特性
    TCP/IP分层
    海量数据问题处理办法
    36个常见java面试题
    【19】【滑动窗口】【栽跟头】最长不重复子字符串
    一些面试题
  • 原文地址:https://www.cnblogs.com/xing901022/p/5540347.html
Copyright © 2011-2022 走看看