日期:2014-05-20  浏览次数:20650 次

java 里面有几种数组
太久没做java 都忘了很多,现在书也不见了,发帖问问

我知道的有 
String [] 
String [][]
List<String>
ArrayList<String>
Object obj...

记得还有几种

H..[key,value] 有一种差不多是这个类型的,
怎遍历分别获得key和value ??

多多益善,共享一下下你们知道的数组呀,啥都可以....

------解决方案--------------------
前2个都是String数组一个一维一个二维,并不是2个数组,后2个ArrayList是实现了List接口的类。List本身就是一个接口。
其他的还用过Array其实都是大同小异的,这个东西在于精不在于多。
楼主说的H[key,value].是HashMap这种的实现了是一种二维的结构。通过put(key,value)设置值。
通过get(key)获取值。
遍历方法如下。
Java code

public static void main(String[] args) throws Exception
    {
        HashMap map = new HashMap();
        map.put("A", "北京");
        map.put("B","上海");
        Set set = map.keySet();//set不能取所以先转换成能取的
        ArrayList list  = new ArrayList(set);
        for(int i=0;i<list.size();i++)
        {
            System.out.println("key="+list.get(i));
            System.out.println("value="+map.get(list.get(i)));
        }    
    }

------解决方案--------------------
问的问题怎么让人这么纠结啊
你想问的是容器种类吧?
数组的话每种类型都存在自己的数组类型 数组属于特殊容器 他的容量不能动态增长
其他可以动态增长的容器大类分为Collection和Map Collection存对象 Map存关系
Collection下又分为Set和List:1. Set不允许有重复对象 遍历难 结构修改容易 2.List允许有重复对象 遍历简单 结构修改相对复杂

Map下的key和value都有对应方法获得他们对应的Set视图和Collection视图 方法为keys()和values()
------解决方案--------------------
Java code

Map<String,Integer> hh = new HashMap<String,Integer>();
        hh.put("zhangsan", 123);
        hh.put("lis", 312);
        hh.put("wangwu", 833);
        
        for(Map.Entry<String, Integer> entry: hh.entrySet()){
            System.out.println(entry.getKey() +" : "+entry.getValue());
        }

------解决方案--------------------
实现list接口常用的集合:ArrayList LinkedList Stack Vector(这个也用的比较少了),其中ArrayList和LinkedList用的比较频繁,可以多看看。

实现Map接口常用对象:HashMap TreeMap HashTable(这个也用的比较少了),建议多看看。
------解决方案--------------------
Java code
那不叫数组,叫集合
List
Set
Map

List和Set都可以用for each来遍历,如
for (Type t : (List|Set)instance)... ,
或者用iterator来遍历
Iterator<Type> it = (List|Set)instance.iterator();
while (it.hasNext()) ...

Map也可以用for each来遍历,如
for (Map.Entry<KeyType, ValueType> e : Map-instance) {
    e.getKey();
    e.getValue();
    ...
}
也可以用Key的集合或Value的集合来遍历,和Set的遍历差不多,如
for (KeyType kt : Map-instance.keySet()) ...
for (ValueType vt : Map-instance.values()) ...