Je suis très nouveau au développement Android à Kotlin. J'ai une arracheliste composée de deux arraylistes de type double. Je veux tout jeter / couper après le premier élément à l'intérieur de la grande arrache. Sur la recherche des propriétés décrites ici A> sur la page de Kotlin, j'ai trouvé des fonctions telles que ci-dessous est un code factice: - p> droplast code>,
prenez code> etc. Toutefois, ils ne fonctionnent pas sur la mise en œuvre également, il n'y a pas d'erreur. Je reçois toujours la même sortie que l'entrée ayant la même longueur. Bien que les fonctions telles que
ajoutent code>,
obtenez code> sous
fonctionne code> colonne fonctionne bien. Je manque sûrement quelque chose ici. Quelle serait la voie à suivre?
3 Réponses :
fun padding(tokenizedinput : ArrayList<ArrayList<Double>>) = arrayListOf(tokenizedinput[0])
À la fin de votre réponse, si je l'ai bien compris, arraylistof code> crée une autre arrayliste qui obtient la valeur de premier élément ?. Si oui, je ne peux pas modifier le tableau existant
temp_storage code>?
list.take (n) code> ou
list.droplast (n) code> serait
retourner code> une nouvelle liste avec l'opération. Il serait
temp_storage = ArrayList(temp_storage.dropLast(1)) // need to cast it to ArrayList<T> before assigning
Alors, puis-je faire temp_storage = temp_storage.droplaste (1) code>? Cela modifiera-t-il la liste existante?
@Rishabhsahrawat oui il devrait
Si je fais cela, je vois l'erreur: L'inférence de type a échoué. Requis: ArrayList
temp_storage = temp_storage.droplaste (1) code>
@Rishabhsahrawat j'ai édité la réponse s'il vous plaît vérifier!
Ah oui, maintenant je l'obtiens. La liste renvoyée > à partir de la fonction doit être enveloppée dans
ArrayList code>. Ça a marché. Merci. Bonne journée!
Pour ajouter à ce que les autres réponses ont déjà dit, de la classe actuelle contenant cette méthode:
la méthode /**
* Returns a list containing all elements except last [n] elements.
*
* @throws IllegalArgumentException if [n] is negative.
*
* @sample samples.collections.Collections.Transformations.drop
*/
public fun <T> List<T>.dropLast(n: Int): List<T> {
require(n >= 0) { "Requested element count $n is less than zero." }
return take((size - n).coerceAtLeast(0))
}
Je comprends, mais ensuite comment modifier le tableau ?. Devrais-je créer une autre arrayliste et tout enregistrer là ou puis-je modifier l'existant?
Je manquais simplement la partie d'emballage pour la liste résultante. Merci pour votre aide et votre temps.
Pas de problème, désolé pour la réponse différée là-bas, je n'ai pas vu votre commentaire, vous pouvez attribuer le résultat à une autre arraylist, car vous avez probablement compris :)
J'ai supprimé le point d'interrogation de votre titre, comme
ArrayList>? Code> peut être un type de données (pour indiquer qu'il est nullable) et c'est un peu déroutant pour la lecture des personnes :)
Merci, je n'ai pas remarqué cela. :)