@@ -2,7 +2,10 @@ package com.merttan.BasicSyntax
2
2
3
3
import androidx.appcompat.app.AppCompatActivity
4
4
import android.os.Bundle
5
+ import android.service.autofill.CharSequenceTransformation
5
6
import java.lang.Double.sum
7
+ import java.util.*
8
+ import kotlin.collections.ArrayList
6
9
7
10
class MainActivity : AppCompatActivity () {
8
11
@@ -47,11 +50,6 @@ class MainActivity : AppCompatActivity() {
47
50
list.add(4 )
48
51
println (list)// [1,2,3,4]
49
52
50
- println (" ----------------Smart-Casted--------------" )
51
-
52
-
53
-
54
-
55
53
56
54
57
55
@@ -92,10 +90,103 @@ class MainActivity : AppCompatActivity() {
92
90
programı senkronize etmek veya mantık yürütmek gerektiği zaman sorunların ana kaynağı
93
91
olan mutasyon noktası sunmaz. Bu nedenle var yerine val tercih ediyoruz.
94
92
*/
93
+
94
+ println (" -----------Smart-Case----------" )
95
+ /*
96
+ if(fullNameS != null){
97
+ println(fullNameS2.length) //ERROR : Smart cast impossible
98
+ }
99
+ */
100
+
101
+ if (fullNameS2 != null ){
102
+ println (fullNameS2.length) // Yalçın Bulut
103
+ }
104
+
105
+ println (" -----------Mutable ve Read-Only collectionlar arasındaki farklar----------" )
106
+
107
+ val dizi= listOf (1 ,2 ,3 )
108
+ /*
109
+ // Hatalı Down cating işlemi Hata verecek
110
+ if(dizi is MutableList){
111
+ dizi.add(4)
112
+ }
113
+ */
114
+
115
+
116
+ // Doğru Down casting işlemi
117
+
118
+ val dizi2= listOf (1 ,2 ,3 )
119
+ val mutableList = dizi2.toMutableList()
120
+ mutableList.add(4 )
121
+
122
+ println (mutableList)
123
+
124
+ /*
125
+ val names : SortedSet<FullName> =TreeSet()
126
+ val person : FullName ("AAA","AAA")
127
+ names.add(person)
128
+ */
129
+
130
+ // User modelinden işlemler
131
+ var user = User (" MERT" ," TAN" )
132
+ user= user.copy(surname= " ÇAKAR" )
133
+ println (user) // User (name=MERT, surname=ÇAKAR)
134
+ println (" -----------------------------------------------------------" )
135
+
136
+ // 2 şekilde liste oluşturup listeye eleman atama şekli
137
+ val list1 : MutableList <Int > = mutableListOf ()
138
+ var list2 : List <Int > = listOf ()
139
+ list1.add(1453 )
140
+ list2 = list2 + 1907
141
+ println (list1)
142
+ println (list2)
143
+ println (" -----------------------------------------------------------" )
144
+ list1 + = 1
145
+ list2 + = 1
146
+ println (list1)
147
+ println (list2)
148
+ println (" -----------------------------------------------------------" )
149
+ list1.plusAssign(1 )
150
+ list2 = list2.plus(1 )
151
+ println (list1)
152
+ println (list2)
153
+ println (" -----------------------------------------------------------" )
154
+ val list3 : MutableList <String > = mutableListOf ()
155
+ var list4 : List <String > = listOf ()
156
+ list3.add(" Fatih" )
157
+ list4= list4 + " İstanbul"
158
+ println (list3)
159
+ println (list4)
160
+ println (" -----------------------------------------------------------" )
161
+ list3 + = " Sultan"
162
+ list4 + = " İzmir"
163
+ println (list3)
164
+ println (list4)
165
+ println (" -----------------------------------------------------------" )
166
+ list3.plusAssign(" Mehmet" )
167
+ list4 = list4.plus(" Eskişehir" )
168
+ println (list3)
169
+ println (list4)
170
+
171
+
172
+
173
+
95
174
}
96
175
97
176
98
177
178
+
179
+
180
+
181
+
182
+ inline fun <T ,R > Iterable<T>.map (transformation : (T ) -> R ) :List <R > {
183
+ val list = ArrayList <R >()
184
+ for (elem in this ) {
185
+ list.add(transformation(elem))
186
+ }
187
+ return list
188
+ }
189
+
99
190
fun printSum (a : Int , b : Int ): Unit {
100
191
println (" sum of $a and $b is ${a + b} " )
101
192
}
@@ -145,6 +236,13 @@ class MainActivity : AppCompatActivity() {
145
236
146
237
147
238
// ----------------Smart-Casted--------------
239
+ val nameS : String = " Yalçın"
240
+ val surnameS : String = " Bulut"
241
+ val fullNameS : String
242
+ get() = nameS?.let { " $it $surnameS " }
243
+ val fullNameS2 : String? = nameS.let { " $it $surnameS " }
244
+
245
+
148
246
149
247
150
248
0 commit comments