gpt4 book ai didi

java - Set 不保存所有数据?

转载 作者:行者123 更新时间:2023-12-01 21:40:52 24 4
gpt4 key购买 nike

我在 Set<String> 方面遇到了一些问题,但我不知道为什么 - 数据似乎没有完全插入到 data 中。

这是我的代码:

private Set<String> spinnersPosToData() {
Set<String> data = new HashSet<>();

data.add(String.valueOf(CHURCH_SPINNER_POS));
data.add(String.valueOf(MEMBER_BY_SPINNER_POS));
data.add(String.valueOf(BIRTH_DAY_SPINNER_POS));
data.add(String.valueOf(BIRTH_MONTH_SPINNER_POS));
data.add(String.valueOf(GENDER_SPINNER_POS));
data.add(String.valueOf(SALUATION_SPINNER_POS));
data.add(String.valueOf(BIRTH_YEAR_RANGER_SPINNER_POS));
data.add(String.valueOf(REGISTERED_TO_VOTE_SPINNER_POS));
data.add(CELL_PHONE_TXT);

Log.i("chu", String.valueOf(CHURCH_SPINNER_POS));
Log.i("memBy", String.valueOf(MEMBER_BY_SPINNER_POS));
Log.i("bDay", String.valueOf(BIRTH_DAY_SPINNER_POS));
Log.i("bMon", String.valueOf(BIRTH_MONTH_SPINNER_POS));
Log.i("gen", String.valueOf(GENDER_SPINNER_POS));
Log.i("sal", String.valueOf(SALUATION_SPINNER_POS));
Log.i("bYea", String.valueOf(BIRTH_YEAR_RANGER_SPINNER_POS));
Log.i("reg2Vot", String.valueOf(REGISTERED_TO_VOTE_SPINNER_POS));
Log.i("celPho", CELL_PHONE_TXT);

Log.i("dat2Str", data.toString());

return data;
}

这是我在日志中发现的内容:

04-07 14:28:22.388 7309-7309/app.com.mmm I/chu: 11
04-07 14:28:22.388 7309-7309/app.com.mmm I/memBy: 1
04-07 14:28:22.388 7309-7309/app.com.mmm I/bDay: 3
04-07 14:28:22.388 7309-7309/app.com.mmm I/bMon: 4
04-07 14:28:22.388 7309-7309/app.com.mmm I/gen: 2
04-07 14:28:22.388 7309-7309/app.com.mmm I/sal: 2
04-07 14:28:22.388 7309-7309/app.com.mmm I/bYea: 2
04-07 14:28:22.389 7309-7309/app.com.mmm I/reg2Vot: 1
04-07 14:28:22.389 7309-7309/app.com.mmm I/celPho: 123456789
04-07 14:28:22.389 7309-7309/app.com.mmm I/dat2Str: [4, 1, 11, 123456789, 3, 2]

如您所见,data 并不完整,并且是随机顺序的。这是为什么?

最佳答案

<强> Definition of Set :

A collection that contains no duplicate elements. More formally, sets contain no pair of elements e1 and e2 such that e1.equals(e2), and at most one null element. As implied by its name, this interface models the mathematical set abstraction.

<强> Definition of HashSet :

This class implements the Set interface, backed by a hash table (actually a HashMap instance). It makes no guarantees as to the iteration order of the set; in particular, it does not guarantee that the order will remain constant over time. This class permits the null element.

如果您想保留重复值和插入顺序,请改用 ArrayList

关于java - Set<String> 不保存所有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com