当前位置: 代码迷 >> J2SE >> java 里头有几种数组
  详细解决方案

java 里头有几种数组

热度:2866   发布时间:2013-02-25 00:00:00.0
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
那不叫数组,叫集合ListSetMapList和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()) ...