㈠ java map 先后顺序
通过map中的LinkedHashMap实现就可以。
HashMap<String,String> headers = new LinkedHashMap<String,String>();//创建一个map
headers.put("Cache-Control", "no-cache");//给map赋第一个值
headers.put("Connection", "close");//给map赋第二个值
Set keys1 = headers.keySet();//获取所有的key值
System.out.println(keys1);
结果:[Cache-Control,Connection];//结果就是先进先出
备注:以上HashMap就是先定义了存放的key和value值都是字符串类型,之后可以通过get方法获取到对应的值(如:headers.get("Cache-Control"),结果就是”no-cache“);
㈡ JAVA中的map集合顺序如何与添加顺序一样
其实没必要,因为是按KEY取的,只要KEY是顺序的,取出来就是顺序的了。
㈢ java map元素是否有顺序
map只是一个接口,他的实现类中
HashMap是无序的(只是说不是你插入时的顺序);
LinkedHashMap是有序的(按你插入的顺序);
TreeMap 是按key排序的;
HashMap 类基本上等同于 Hashtable, 区别仅仅在于: HashMap 不是同步的,并且运行 null 值.。
㈣ java中,怎么样得到一个有序的map集合
hashmap是没有顺序的,有顺序的一般没人这么用的,都是通过list来进行确定顺序的对象添加的。因为list是有顺序的,先add的编号就小(从0开始),举例: List list = new linkedList(); list.add("0"); list.add("1"); 结果就是:list.get(1) =1;
㈤ JAVA里面set,map,list的区别是什么(尽量详细)
java集合的主要分为三种类型:
Set(集)
List(列表)
Map(映射)
要深入理解集合首先要了解下我们熟悉的数组:
数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。
简单说下集合和数组的区别:(参考文章:《Thinking In Algorithm》03.数据结构之数组)
Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。
1、
效率高,但容量固定且无法动态改变。
array还有一个缺点是,无法判断其中实际存有多少元素,length只是告诉我们array的容量。
2、Java中有一个Arrays类,专门用来操作array。
arrays中拥有一组static函数,
equals():比较两个array是否相等。array拥有相同元素个数,且所有对应元素两两相等。
fill():将值填入array中。
sort():用来对array进行排序。
binarySearch():在排好序的array中寻找元素。
System.array():array的复制。
若撰写程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。所以就要用到集合。
那我们开始讨论java中的集合。
集合分类:
Collection:List、Set
Map:HashMap、HashTable
㈥ java map,怎么保证顺序
java map 是一个接口,其有个子接口是SortedMap,进一步提供关于键的总体排序 的 Map。该映射是根据其键的自然顺序进行排序的,或者根据通常在创建有序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet、keySet 和 values 方法返回)进行迭代时,此顺序就会反映出来。要采用此排序方式,还需要提供一些其他操作(此接口是 SortedSet 的对应映射)。
LinkedHashMap 维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。
㈦ Java中List Set Map 是否有序等总结
其实都是有序的。
不过set
和
map
的排序规则不是通常意义上的1,2,3这样排的而是按照HashCode,算法比较复杂,所以通常把set和map当作无序的
list
的有序很简单,就是按添加的顺序