Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按指定顺序从LinkedHashMap检索密钥集_Java_Linkedhashmap_Treeset - Fatal编程技术网

Java 按指定顺序从LinkedHashMap检索密钥集

Java 按指定顺序从LinkedHashMap检索密钥集,java,linkedhashmap,treeset,Java,Linkedhashmap,Treeset,我正在编写一个程序,从LinkedHashMap的列表中提取密钥。然后,提取的键将与逗号连接,并在CSV文件中打印为列标题 flatJson的示例内容如下所示: { Submitted_Date=03-11-2016 01:19:41, Comments=, Rating=3, details.name=Willy, details.personalId=S123456A, details.mobileNo=11111111, details.email=w

我正在编写一个程序,从LinkedHashMap的
列表中提取密钥。然后,提取的键将与逗号连接,并在CSV文件中打印为列标题

flatJson
的示例内容如下所示:

{
  Submitted_Date=03-11-2016 01:19:41, 
  Comments=, 
  Rating=3,
  details.name=Willy,  
  details.personalId=S123456A,
  details.mobileNo=11111111, 
  details.email=willy@email.com,
  Channel=desktop, 
  Referral_Code=, 
  discount.promoCode=,
  discount.referral=, 
  policyPlan.grossPremium=788.64,
  policyPlan.name=Standard, 
  policyPlan.netPremium=788.64
}
代码:

虽然预期输出与
flatJson
相同:

Submitted_Date
Comments
Rating
details.name
details.personalId
details.mobileNo
details.email
Channel
Referral_code
discount.promoCode
discount.referral
policyPlan.grossPremium
policyPlan.name
policyPlan.netPremium

以前,我使用的是不支持排序的
HashMap
Set
。此后,我将它们更改为
LinkedHashMap
TreeSet
,但仍然无法获得正确的顺序。

TreeSet不是为了保留插入顺序。它是关于对其元素进行排序的

换句话说:如果您将String对象添加到树集合中,它们将被排序,就像您将对该列表进行排序一样


因此,如果顺序是您最关心的问题,那么您应该使用而不是树集!或者,您可以在创建树集时提供一个自定义。。。这不知何故给了你想要的顺序——这可能会奏效,但对我来说,这听起来像是黑客的变通方法。

使用LinkedHashSet而不是树将其切换到LinkedHasSet立即解决了问题。非常感谢你!
Channel
Comments
Rating
Referral_Code
Submitted_Date
details.email
details.personalId
details.mobileNo
details.name
discount.promoCode
discount.referral
policyPlan.grossPremium
policyPlan.name
policyPlan.netPremium
Submitted_Date
Comments
Rating
details.name
details.personalId
details.mobileNo
details.email
Channel
Referral_code
discount.promoCode
discount.referral
policyPlan.grossPremium
policyPlan.name
policyPlan.netPremium