2019-09-18 11:48:34 -04:00
|
|
|
# Arrays
|
|
|
|
|
|
|
|
## What is an Array?
|
|
|
|
- Object used to store a **list** of values
|
|
|
|
- All values in array are the **same type**
|
|
|
|
-Eg. int, double, char, string, etc
|
|
|
|
|
|
|
|
- Used to store a large number of data
|
|
|
|
- Easy to **access** any element in the array
|
|
|
|
|
|
|
|
## How to Declare
|
|
|
|
- Declaring an array to up to 10 words
|
|
|
|
```java
|
|
|
|
String array[] = new String[10];
|
|
|
|
```
|
|
|
|
- Declaring an array and initializing variables at the same time:
|
|
|
|
```java
|
|
|
|
String array[] = {"s", "d", "f"};
|
|
|
|
```
|
|
|
|
|
|
|
|
## String Manipulataion
|
|
|
|
|
2019-09-18 11:58:03 -04:00
|
|
|
- `length()` to find the length of a string
|
2019-09-18 11:48:34 -04:00
|
|
|
- `stringName.charAt(0)` will output the first character
|
|
|
|
- Each character in a string has a positio. String positions start at 0
|
|
|
|
- `stringName.indexOf("T")` will output the index number that the letter `T` belongs to
|
|
|
|
- `stringName.substring(3)` will output all characters after the index #
|
|
|
|
- Eg. `string stringName = "Jim hates math"`
|
|
|
|
- Output: `hates math`
|
|
|
|
|
2019-09-18 11:58:03 -04:00
|
|
|
- First # is for the index that you want and last number is for the index that you don't want
|
2019-09-18 11:48:34 -04:00
|
|
|
- `stringName2 = " i hate math "`
|
2019-09-18 11:58:03 -04:00
|
|
|
- `stringName2.trim();`
|
|
|
|
- Output: `i hate math`
|
2019-09-18 11:48:34 -04:00
|
|
|
- `stringName.toLowerCase()` makes every character a lower case letter
|
|
|
|
- `stringName.toUpperCase()` makes every character an upper case letter
|
|
|
|
|
2019-09-18 11:58:03 -04:00
|
|
|
- `concat()`
|
2019-09-18 11:48:34 -04:00
|
|
|
- `stringname1.concat(stringname2);` will put both string into 1 word
|
2019-09-18 11:58:03 -04:00
|
|
|
- `stringname.replace("a", "p");` will replace every `a` with `p`
|
2019-09-18 11:48:34 -04:00
|
|
|
- `stringname1.equals(stringname2);` will return true of false depending on whether the two contain the same value
|
|
|
|
- `stringname1.compareTo(stringname2);` is for alphabetical order
|
2019-09-18 11:58:03 -04:00
|
|
|
- if the condition above is $`< 0`$, name1 is before name2. $`> 0`$, name1 is after name2, if $`=0`$, its the same string
|
|
|
|
|
|
|
|
## Sorting
|
|
|
|
```java
|
|
|
|
static void ImprovedBubbleSorted(int arr[]) {
|
|
|
|
boolean isSorted = false;
|
|
|
|
int j = 1;
|
|
|
|
while(!isSorted) {
|
|
|
|
isSorted = true;
|
|
|
|
for(int i = 0; i < arr.length - j; i++) {
|
|
|
|
if(arr[i]> arr[i + 1]) {
|
|
|
|
int t = arr[i];
|
|
|
|
arr[i] = arr[i + 1];
|
|
|
|
arr[i + 1] = t;
|
|
|
|
|
|
|
|
isSorted = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
j++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Searching
|
|
|
|
```java
|
|
|
|
boolean found=false;
|
|
|
|
System.out.println("Enter the word you want to search");
|
|
|
|
String word = sc.next();
|
|
|
|
for(int i=0; i<arr.length; i++) {
|
|
|
|
if(arr[i].equals(word)) {
|
|
|
|
found=true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(found) {
|
|
|
|
System.out.println("The word was found");
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
System.out.println("The word was not found");
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Searching Continued
|
|
|
|
```java
|
|
|
|
boolean found=false;
|
|
|
|
System.out.println("Enter the word you want to search");
|
|
|
|
String word = sc.next();
|
|
|
|
int pos=0;
|
|
|
|
for(int i=0; i<arr.length; i++) {
|
|
|
|
if(arr[i].equals(word)) {
|
|
|
|
found=true;
|
|
|
|
pos=i;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(found) {
|
|
|
|
System.out.println("The word was found at index: " + pos);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
System.out.println("The word was not found");
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## Conclusion
|
|
|
|
- Arrays are very useful when problem solving when a large numbe of data is involved
|
|
|
|
- `Organize` large sets of data
|
|
|
|
- Variety of ways you can access information in an array
|
|
|
|
|