当前位置: 首页 > 知识库问答 >
问题:

ExpandableListView数组列表不会按照我放它们的顺序[重复]

袁谭三
2023-03-14
company, day of the week, posh vehicles, topgear vehicles
posh vehicles, company, days of the week, topgear vehicles

谁能帮我弄清楚这里的问题是我用于StringArray的代码吗?

 public static HashMap<String, List<String>> getData() {

    HashMap<String, List<String>> expandableListDetail = new HashMap<String, List<String>>();

    List<String> listDataHeader = new ArrayList<String>();
    // Adding child data
    listDataHeader.add("Company");
    listDataHeader.add("Please pick a day");
    listDataHeader.add("Posh Vehicles");
    listDataHeader.add("TopGear Vehicles");

    List<String> CompanyName = new ArrayList<>();
    CompanyName.add("Posh limos");
    CompanyName.add("TopGear limos");

    List<String> daysOftheWeek = new ArrayList<>();
    daysOftheWeek.add("Monday");
    daysOftheWeek.add("Tuesday");
    daysOftheWeek.add("Wednesday");
    daysOftheWeek.add("Thursday");
    daysOftheWeek.add("Thursday");
    daysOftheWeek.add("Friday");
    daysOftheWeek.add("Saturday");
    daysOftheWeek.add("Sunday");

    List<String> poshvehicles = new ArrayList<>();
    poshvehicles.add("Posh H2 limo");
    poshvehicles.add("Iveco party bus");
    poshvehicles.add("Merc party bus ");
    poshvehicles.add("Party coach");

    List<String> topGearVehicles = new ArrayList<>();
    topGearVehicles.add("TopGear H2 limo");
    topGearVehicles.add("TopGear party bus");

    expandableListDetail.put(listDataHeader.get(0),CompanyName);
    expandableListDetail.put(listDataHeader.get(1),daysOftheWeek);
    expandableListDetail.put(listDataHeader.get(2),poshvehicles);
    expandableListDetail.put(listDataHeader.get(3),topGearVehicles);

    return expandableListDetail; 

共有1个答案

邹涵畅
2023-03-14

hashmap不保留插入顺序。

您可以使用LinkedHashMap(它扩展了HashMap):

Map<String, List<String>> expandableListDetail = new LinkedHashMap<>();

我还使用了左侧的接口名称map和菱形运算符(<>),如果您至少有Java7就可以使用该运算符。

 类似资料:
  • 这是第一个数组。 用户可以输入不超过100个整数,如果用户输入负数,将停止。 这是第二个数组。 用户可以输入不超过100个整数,如果用户输入负数将结束。 打印出第一个整数列表 rint出第二个整数列表 问题在于,它不会检查数组是否按升序排列。↓↓↓ 如果inOder=1,我需要合并这两个数组。

  • 我有从不同提供程序类提取消息的辅助线程。每个提供程序类添加/获取内部队列的消息。每个提供者只满足一个solace队列,而solace使用者将消息添加到队列的提供者。 多个工作人员可以接收提供程序的消息,处理它们,然后发送消息的ack(下面的message.commit()方法执行ack)。 情景 null null 提供程序类 //有一组工作线程可以读取这些队列

  • 我有长ID的数组列表 我有一个具有

  • 所以我的老师给了我一个问题,我必须把数组的输出和管道(不确定这个词是否正确)数组值放入arraylist,然后颠倒顺序。我知道我很接近,只是错过了一些很明显的东西。每次我问老师,他都让我更加困惑。谢谢你的帮助。我不知道没有这个网站我该怎么办。我的老师说我们需要分两节课。钱包Java和Test钱包。JAVA数组位于Test钱包类中,arraylist位于钱包类中。这是我的钱包。java代码:

  • 问题内容: 我有以下查询,该查询基于逗号分隔的列表返回行 我希望此查询的结果以ID在列表中的顺序返回。SQL可以做到吗? 提前致谢 问题答案: 如果您需要输出以特定顺序显示,则需要使用服务器可以排序的内容来指定该顺序。不知道您要使用哪个引擎,一般的方案是创建一个临时表或使用行集构造函数将每个记录ID与所需的排序顺序配对。 例如(SQL Server)

  • 我们使用props来定下我们显示的顺序. 我们的组件基于我们排好序的props进行渲染. class PageSections extends Component { render() { const pageItems = this.props.contentOrder.map( (content) => { const renderFunc = this