我该如何翻译这个Java代码:
private List<MPoint> classes = new ArrayList<MPoint>(); // MPoint is my own class
Run Code Online (Sandbox Code Playgroud)
到C#?最终关键字在Java中意味着什么?C#中有什么类似的东西?我是C#和Java的新手,我需要帮助:)
人们经常告诉我不要使用ArrayList在VB.NET中制作我的数组.我想听听有关这方面的意见,为什么我不应该?创建和操作数组内容,维度等的最佳方法是什么?
谢谢.
我正在尝试使用导入CSV文件:ArraylistStringTokenizer
public class Test
{
public static void main(String [] args)
{
List<ImportedXls> datalist = new ArrayList<ImportedXls>();
try
{
FileReader fr = new FileReader("c:\\temp.csv");
BufferedReader br = new BufferedReader(fr);
String stringRead = br.readLine();
while( stringRead != null )
{
StringTokenizer st = new StringTokenizer(stringRead, ",");
String docNumber = st.nextToken( );
String note = st.nextToken( ); /** PROBLEM */
String index = st.nextToken( ); /** PROBLEM */
ImportedXls temp = new ImportedXls(docNumber, note, index);
datalist.add(temp);
// read …Run Code Online (Sandbox Code Playgroud) 所以我现在正在为大学做一个有几个可选部分的练习(因为我们还没有在课堂上做过这个),其中一个是使用列表而不是数组(所以它是可变大小)而另一个是打印按点排序的列表(我现在就到了)
所以,我有一个看起来像这样的Player.java类.
public class Player {
String name;
String password;
int chips;
int points;
public Player (String n, String pw, int c, int p) {
name = n;
password = pw;
chips = c;
points = p;
}
public String getName () {
return name;
}
public void setName (String n) {
name = n;
}
public void setPW (String pw) {
password = pw;
}
public String getPW () {
return password;
}
public void setChips (int c) { …Run Code Online (Sandbox Code Playgroud) 我有点困惑.在填充循环的第一次迭代中,我在使用initial capacityfor ArrayListvs而不使用初始容量时看到填充时间的一些回归.
根据常识和这个问题:为什么要启动具有初始容量的ArrayList?
它必须完全相反.
它不是很好的基准测试,我想知道:为什么在第一次迭代时它总是在使用初始容量时消耗更多的时间和CPU ArrayList?
这是测试:
public class TestListGen {
public static final int TEST = 100_000_000;
public static void main(String[] args) {
test(false);
}
private static void test(boolean withInitCapacity) {
System.out.println("Init with capacity? " + withInitCapacity);
for (int i = 0; i < 5; i++)
av += fillAndTest(TEST, withInitCapacity ? new ArrayList<Integer>(TEST) : new ArrayList<Integer>());
System.out.println("Average: " + (av / 5));
}
private static long fillAndTest(int capacity, …Run Code Online (Sandbox Code Playgroud) 如何在 Kotlin 中声明嵌套列表?我正在寻找以下形式的东西:
var nestedList:List = [1,[2,[3,null,4]],[null],5]
Run Code Online (Sandbox Code Playgroud)
这样我以后就可以将它展平(结果应该是nestedList = [1, 2, 3, 4, 5])。
如果任何歌曲包含对播放列表中上一首歌曲的引用,则该播放列表被视为重复播放列表。否则,播放列表将以指向空的最后一首歌曲结束。
我需要实现一个函数 isRepeatingPlaylist,如果播放列表重复,则返回 true,否则返回 false。
例如,以下代码打印“true”,因为两首歌曲都指向对方。
Song first = new Song("Hello");
Song second = new Song("Eye of the tiger");
first.setNextSong(second);
second.setNextSong(first);
System.out.println(first.isRepeatingPlaylist());
Run Code Online (Sandbox Code Playgroud)
再说一遍,这不是作业练习,我在做编码挑战,因为当我阅读有关编程概念的理论时,我几乎可以理解,但是当面临编写程序时,我不知道从哪里开始,也不知道如何应用。
public class Song {
private String name;
private Song nextSong;
public Song(String name) {
this.name = name;
}
public void setNextSong(Song nextSong) {
this.nextSong = nextSong;
}
public boolean isRepeatingPlaylist() {
//throw new UnsupportedOperationException("Waiting to be implemented.");
List<String> list = new ArrayList<String>();
list.add(one);
list.add(two);
list.add(three);
list.add(four);
if list.contains()
return true;
else
return false;
}
public static void …Run Code Online (Sandbox Code Playgroud) 我以ObservableMap<T, Foo>. 要在视图中实现这些数据,我需要以ObservableList<Foo>.
因为我需要 Map Collection 中的数据(以避免重复和其他原因),我想知道是否可以绑定这两个集合。
就像是:
ObservableMap<Integer, Foo> data = FXCollections.observableHashMap();
ObservableList<Foo> target = FXCollections.observableArrayList();
// Won't work
Bindings.bindContent(target, data.values());
Run Code Online (Sandbox Code Playgroud)
绑定,因为数据可以在运行时更改。
编辑: 使用地图值初始化列表不起作用,因为将有附加的 Foo 添加到地图中:使用字符串作为地图值的示例:
ObservableMap<Integer, String> map = FXCollections.observableHashMap();
map.put(1, "a");
map.put(2, "b");
ObservableList<String> list = FXCollections.observableArrayList(map.value());
//map = {1=a, 2=b}
//list = [a, b]
// ok
map.put(3, "c");
//map = {1=a, 2=b, 3=c}
//list = [a, b]
// no update
Run Code Online (Sandbox Code Playgroud) 我有一个 RecyclerView 和一个具有 Person 模型的 ArrayList 的适配器。当应用程序启动时,我在 EditText 中输入名称并按下按钮:
但是当我在活动中记录 personList 数据时,结果是:
personList: Item 0 -----> Alireza
personList: Item 1 -----> Tohid
personList: Item 2 -----> Alireza
Run Code Online (Sandbox Code Playgroud)
第一个项目被删除,最后一个项目在第一个项目中重复。(我的适配器更复杂,但我减少了代码和视图以专注于主要问题)
适配器布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/et_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Name" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Add" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
适配器类:
public class TestAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private ArrayList<Person> mList;
private View.OnClickListener listener;
public TestAdapter(ArrayList<Person> mList, View.OnClickListener listener) {
this.mList …Run Code Online (Sandbox Code Playgroud) private static boolean moreThanOnce(ArrayList<Integer> list, int number) {
if (list.contains(number)) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
如何list.contains检查是否在列表中多次找到该号码?我可以用for循环创建一个方法,但我想知道是否可以使用.contains. 感谢帮助!