facebook twitter hatena line email

「Android/kotlin/配列」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(foreach)
 
(同じ利用者による、間の13版が非表示)
行1: 行1:
==配列for-in==
+
==配列==
 +
自分はforeachはbreakなどが使えないので、for-inのほうが好き
 +
===for-in===
 
<pre>
 
<pre>
var names:Array<String>
+
val names:ArrayList<String> = arrayListOf("taro", "jiro")
 
if (names.isNotEmpty()) {
 
if (names.isNotEmpty()) {
 
     for (name: String in names) {
 
     for (name: String in names) {
         Log.d("test", "name=" + name)
+
         Log.d("test", "name=$name")
 
     }
 
     }
 +
}
 +
</pre>
 +
 +
or
 +
 +
===foreach===
 +
<pre>
 +
names.forEach { name ->
 +
    Log.d("test", "name=$name")
 +
}
 +
</pre>
 +
 +
itを使う場合
 +
<pre>
 +
names.forEach {
 +
    Log.d("test", "name=$it")
 
}
 
}
 
</pre>
 
</pre>
行22: 行40:
 
user2.name = "jiro"
 
user2.name = "jiro"
 
var users: ArrayList<User> = arrayListOf(user, user2)
 
var users: ArrayList<User> = arrayListOf(user, user2)
 +
var username = users.firstOrNull { it.name.contains("taro") }?.name ?: "" // taro
 
for (user: User in users) {
 
for (user: User in users) {
 
     Log.i("test", "user.name=" + user.name)
 
     Log.i("test", "user.name=" + user.name)
 
}
 
}
var username = users.firstOrNull { it.name.contains("taro") }?.name ?: ""
 
 
</pre>
 
</pre>
 +
 +
==配列プロパティ条件一致で更新==
 +
<pre>
 +
var user = User()
 +
user.name = "taro"
 +
var user2 = User()
 +
user2.name = "jiro"
 +
var users: ArrayList<User> = arrayListOf(user, user2)
 +
users.firstOrNull {it.name == "taro"}?.name = "saburo" // taroをsaburoへ
 +
for (user: User in users) {
 +
    Log.i("test", "user.name=" + user.name)
 +
}
 +
</pre>
 +
 +
==mutableリストに文字列追加==
 +
val names  = mutableListOf<String>()
 +
for (i in 1..10000) names.add("name" + i)
 +
 +
==配列をnullでいれて、空の配列用意==
 +
private var names: ArrayList<string?>? = null
 +
names = ArrayList()
 +
names!!.add("taro") // データ挿入

2021年2月10日 (水) 18:01時点における最新版

配列

自分はforeachはbreakなどが使えないので、for-inのほうが好き

for-in

val names:ArrayList<String> = arrayListOf("taro", "jiro")
if (names.isNotEmpty()) {
    for (name: String in names) {
        Log.d("test", "name=$name")
    }
}

or

foreach

names.forEach { name ->
     Log.d("test", "name=$name")
}

itを使う場合

names.forEach {
    Log.d("test", "name=$it")
}

配列プロパティ値取得

User.kt

class User {
    var name: String = ""
}
var user = User()
user.name = "taro"
var user2 = User()
user2.name = "jiro"
var users: ArrayList<User> = arrayListOf(user, user2)
var username = users.firstOrNull { it.name.contains("taro") }?.name ?: "" // taro
for (user: User in users) {
    Log.i("test", "user.name=" + user.name)
}

配列プロパティ条件一致で更新

var user = User()
user.name = "taro"
var user2 = User()
user2.name = "jiro"
var users: ArrayList<User> = arrayListOf(user, user2)
users.firstOrNull {it.name == "taro"}?.name = "saburo" // taroをsaburoへ
for (user: User in users) {
    Log.i("test", "user.name=" + user.name)
}

mutableリストに文字列追加

val names  = mutableListOf<String>()
for (i in 1..10000) names.add("name" + i)

配列をnullでいれて、空の配列用意

private var names: ArrayList<string?>? = null
names = ArrayList()
names!!.add("taro") // データ挿入