ArrayList<String> values = new ArrayList<>();
values.add("APAC");
values.add("North America");
values.add("South America");
values.add("Europe");
System.out.println(values);
Run Code Online (Sandbox Code Playgroud)
这将打印:
[APAC, North America, South America, Europe]
Run Code Online (Sandbox Code Playgroud)
有没有办法让我得到输出[APAC,North America,South America,Europe]后没有空格','。这里有一个类似的问题,但它实际上使用了 aStringBuilder等等。有没有更简单的方法来获得这个输出?
我的输入来自socketusing DataInputSteam,因为我可以将多个不同的字符串值全部分配给同一个clientDayOfWeek字符串,所以我无法弄清楚如何将所有传入的字符串值保存到同一字符串中ArrayList而不替换最后一个值。如果可能的话,我也希望不重复。
Socket socket = null;
DataInputStream dataInputStream = null;
dataInputStream = new DataInputStream(
socket.getInputStream());
String clientDayOfWeek = dataInputStream.readUTF();
ArrayList<String> ar = new ArrayList<String>();
String temp = clientDayOfWeek;
ar.add(temp);
System.out.print("Items in list: "+ ar);
Run Code Online (Sandbox Code Playgroud) 我想使用单独的构造函数独立初始化几个不同的 ArrayList。除了默认值之外,我可以仅使用辅助构造函数轻松地实现我需要的类,但为了了解为什么这不起作用,我很欣赏一些见解。
public class MultiConstruct
{
ArrayList<Integer> first;
ArrayList<Float> second;
public MultiConstruct(){};
public MultiConstruct(ArrayList<Integer> f){
this();
this.first = f;
System.out.println("MultiConstruct version one handled successfully...");
System.out.println(" ");
}
public MultiConstruct(ArrayList<Float> s){
this();
this.second = s;
System.out.println("MultiConstruct version two handled successfully...");
System.out.println(" ");
}
}
Run Code Online (Sandbox Code Playgroud) 我的 Java 代码有一些问题。我应该使用循环而不是任何其他方法。假设我的ArrayList 包含
【狗猫狗狗猫狗马】
我的目标也是删除 Dog 和 Cat 的副本,因此我的最终结果等于
[狗猫马]
public void removeDouble(){
int counter = 0;
for (int i = 0 ; i < animals.size(); i++) {
for (int j = 1+i; j < animals.size() ; j++)
//don't start on the same word or you'll eliminate it.
if ( animals.get(j).equals( animals.get(i) ) ) {
animals.remove(animals.get(j));
counter++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
感觉“逻辑”是正确的,但我的代码运行得不太好。有人可以帮我一点吗?
我有一个 ArrayList,我想随机获取一个元素,删除该元素并在没有删除的元素的情况下进行另一个随机。我怎样才能做到这一点?我曾尝试过,但没有成功。
谢谢。
主要活动:
public class MainActivity extends AppCompatActivity {
Button button;
TextView textView;
ArrayList<Integer> list = new ArrayList<Integer>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button)findViewById(R.id.button);
textView = (TextView)findViewById(R.id.textView);
list.add(0);
list.add(1);
list.add(2);
list.add(3);
}
public void button(View view) {
Random rand = new Random();
int randomElement = list.get(rand.nextInt(list.size()));
if (list.isEmpty()) {
textView.setText("Empty");
} else if (randomElement == 0) {
textView.setText("Red");
list.remove(randomElement);
} else if (randomElement == 1) {
textView.setText("Blue");
list.remove(randomElement);
} else if (randomElement == 2) …Run Code Online (Sandbox Code Playgroud) 我需要我的 中的最高、第二高和第三高数字ArrayList。我通过调用获得最大值(即最高数字)Collections.max(),但我还需要第二大值和第三大值。
我的代码:
maxPartyid =
Collections.max(electionresdashlist.get(k).getPartyNamesDTO()); //1st Highest
System.out.println( "maxPartyid:::"+maxPartyid);
in DTO :
public class PartyNamesDTO implements Comparable<PartyNamesDTO>{
private String partyId;
public String getPartyId() {
return partyId;
}
public void setPartyId(String partyId) {
this.partyId = partyId;
}
private Integer votes;
public Integer getVotes() {
return votes;
}
public void setVotes(Integer votes) {
this.votes = votes;
}
@Override
public int compareTo(PartyNamesDTO emp) {
return this.votes.compareTo(emp.getVotes());
}
public String toString(){
return partyId;
}
}
Run Code Online (Sandbox Code Playgroud)
背景: 我正在尝试为纸牌游戏构建一个牌组构建器。不同的牌组基于我想要在本地保护的一个数组列表。这意味着你可以创建你的牌组,然后我希望你能够保护它,然后创建一个新的牌组,能够再次保存它... ->这会产生我想要在同一个类中保护的多个 Arraylists 。
问题: 在知道我想要的不仅仅是一个 Arraylist 的情况下,将 Arraylist 存储在 Room 中的最佳方式是什么?
据我现在所知,我必须创建一个实体类,它基本上会创建一个(?)表,我必须在其中逐个保存Arraylists?
有更好的方法吗?
奖励: 我也希望有一个关于如何做到这一点的基本示例,因为这似乎是我自己很难实现的。
非常感谢!
编辑:
代码示例
因此,我使用您的代码示例的基线实现的内容如下:
我创建了 SaveDeck 类,它应该能够使用给定的 Deckname 保存 Deck : :-
@Entity 公共类 SaveDeck 实现可序列化 { @PrimaryKey(autoGenerate = true) 私有 int _id;
public SaveDeck(int _id, String deckName, int cardImage, int typeImage, Integer cardCost, String cardName, Integer cardNumber) {
this._id = _id;
DeckName = deckName;
CardImage = cardImage;
TypeImage = typeImage;
CardCost = cardCost;
CardName = cardName;
CardNumber = cardNumber;
} …Run Code Online (Sandbox Code Playgroud)所以我有两段Java代码。一个是一小段简单的源代码,另一个是我试图弄乱的 JUnit 测试类。但是,每当我想要调试代码以确保这个简单的代码正确显示时,我都会在 java.util.ArrayList.forEach(ArrayList.java:1507) 错误处收到 NullPointerException。
这是我的源代码:
public class sourceCode {
public int mid(int x, int y, int z) {
int m = z;
if (y < z) {
if (x < y) {
m = y;
}
else if (x < z) {
m = x;
}
}
else {
if (x > y) {
m = y;
}
else if (x > z) {
m = x;
}
}
return m;
}
Run Code Online (Sandbox Code Playgroud)
}
这是我的 JUnit 测试用例代码:
import static …Run Code Online (Sandbox Code Playgroud) 我想将相同的“开始时间”合并到列表中的一个(步数、距离和卡路里),我该如何做到这一点。
var listNewStepData = arrayListOf<NewStepData>()
Run Code Online (Sandbox Code Playgroud)
数据类
data class NewStepData (
val startTime: String?,
val endTime: String?,
val step: Int? = 0,
val distance: Int? = 0,
val calorie: Int? = 0
)
Run Code Online (Sandbox Code Playgroud)
这是样本
NewStepData(startTime=2020-04-14T00:00:00.000Z, endTime=2020-04-14T00:00:00.000Z, step=4433, distance=0, calorie=0)
NewStepData(startTime=2020-04-14T00:00:00.000Z, endTime=2020-04-15T00:00:00.000Z, step=0, distance=0, calorie=1697)
NewStepData(startTime=2020-04-14T00:00:00.000Z, endTime=2020-04-14T00:00:00.000Z, step=0, distance=2436, calorie=0)
NewStepData(startTime=2020-04-15T00:00:00.000Z, endTime=2020-04-15T00:00:00.000Z, step=5423, distance=0, calorie=0)
NewStepData(startTime=2020-04-15T00:00:00.000Z, endTime=2020-04-16T00:00:00.000Z, step=0, distance=0, calorie=1715)
NewStepData(startTime=2020-04-15T00:00:00.000Z, endTime=2020-04-15T00:00:00.000Z, step=0, distance=3196, calorie=0)
Run Code Online (Sandbox Code Playgroud)
我想得到这个
NewStepData(startTime=2020-04-14T00:00:00.000Z, endTime=2020-04-15T00:00:00.000Z, step=4433, distance=2436, calorie=1697)
NewStepData(startTime=2020-04-15T00:00:00.000Z, endTime=2020-04-16T00:00:00.000Z, step=5423, distance=3196, calorie=1715)
Run Code Online (Sandbox Code Playgroud)
谢谢
我想要的输出应该是:
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
通过每次创建新的ArrayList对象
List<List<Integer>> result = new ArrayList<>();
for(int i = 1; i <= 5; ++i){
List<Integer> list = new ArrayList<>();
for(int j = 1; j <= i; ++j){
list.add(j);
}
result.add(list);
}
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)
我得到所需的输出
[[1], [1, 2], [1, 2, 3], [1, 2, 3, 4], [1, 2, 3, 4, 5]]
但是,在尝试使用时没有得到相同的结果clear()(以避免在每次迭代中创建新对象),并且在调用result Arraylist时也变得空clear()list Arraylist
List<Integer> list = new ArrayList<>();
List<List<Integer>> result …Run Code Online (Sandbox Code Playgroud) arraylist ×10
java ×8
collections ×3
android ×2
android-room ×1
constructor ×1
duplicates ×1
generics ×1
inputstream ×1
junit ×1
kotlin ×1
list ×1
random ×1
sockets ×1
sqlite ×1
string ×1
testing ×1
unit-testing ×1