환경

  • Java


차이

List의 get(0)

  • 첫 번째 요소를 반환
  • 해당 요소가 비어있다면 IndexOutOfBoundsException 발생
List<String> myList = Arrays.asList("1", "2", "3");
String firstElement = myList.get(0);

Stream의 findFirst()

  • 주어진 조건에 맞는 첫 번째 요소를 찾아 반환하며 조건을 만족하는 요소가 없을 경우 Optional.empty()를 반환
  • Java 8 이후 사용 가능
List<String> myList = Arrays.asList("1", "2", "3");

Optional<String> firstElementOptional = myList.stream().findFirst();
if (firstElementOptional.isPresent()) {
    String firstElement = firstElementOptional.get();
}


기억하기

  • List와 같은 자료구조에서는 첫 번째 또는 다른 요소에 접근시 IndexOutOfBoundsException 또는 NullPointerException과 같은 예외를 처리하는 코드를 넣도록 하자


참고자료


Environment and Prerequisite

  • Java


Difference

get(0) in List

  • Return the first element
  • Throw IndexOutOfBoundsException when first element is empty
List<String> myList = Arrays.asList("1", "2", "3");
String firstElement = myList.get(0);

findFirst() in Stream

  • Return the first element that meets the given condition and if there is no element satisfying that condition then return Optional.empty()
  • Available after Java 8
List<String> myList = Arrays.asList("1", "2", "3");

Optional<String> firstElementOptional = myList.stream().findFirst();
if (firstElementOptional.isPresent()) {
    String firstElement = firstElementOptional.get();
}


Keep in Mind

  • In data structures like List, let’s make code to handle exceptions such as IndexOutOfBoundsException or NullPointerException when accessing the first or other elements.


Reference


환경

  • Unity
  • C#


사용법

  • UnityEngine.SceneManagement에 있는 LoadScene 사용
using UnityEngine;
using UnityEngine.SceneManagement;

public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        SceneManager.LoadScene("OtherSceneName");
    }
}


예시

  • 충돌 발생시 scene 전환
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class MoveCircle : MonoBehaviour
{
    private void OnCollisionEnter2D(Collision2D collision)
    {
        SceneManager.LoadScene("GameOverScene");
    }
}


참고자료


Environment and Prerequisite

  • Unity
  • C#


Usage

  • Use LoadScene in UnityEngine.SceneManagement
using UnityEngine;
using UnityEngine.SceneManagement;

public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        SceneManager.LoadScene("OtherSceneName");
    }
}


Example

  • Change scene when collision occured
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class MoveCircle : MonoBehaviour
{
    private void OnCollisionEnter2D(Collision2D collision)
    {
        SceneManager.LoadScene("GameOverScene");
    }
}


Reference


환경

  • Python
  • Pandas


사용법과 예시

  • DataFrameapply를 사용합니다.
  • apply의 인자(argument)로 사용하고 싶은 함수를 넣어줍니다.
  • 행 단위로 사용하려면 axis=1를 사용하면 됩니다.
  • 함수의 매개변수는 DataFrame에서 행(row)를 의미합니다.
import pandas as pd

# make 20 rows of data
data = {'col1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
        'col2': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T'],
        'col3': [True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False, True, False]}

# make dataframe
df = pd.DataFrame(data)

# define function which will use for apply
# access column by column name
def combine_values_by_column_name(row):
    return str(row['col1']) + row['col2'] + str(row['col3'])

# define function which will use for apply
# access column by index
def combine_values_by_column_name(row):
    return str(row[0]) + row[1] + str(row[2])

# use apply
# watch out for axis value
df['new_col_by_name'] = df.apply(combine_values, axis=1)
df['new_col_by_index'] = df.apply(combine_values, axis=1)

# show result
df.head()
  • 결과
  col1 col2 col3 new_col_by_name new_col_by_index
0 1 A True 1ATrue 1ATrue
1 2 B False 2BFalse 2BFalse
2 3 C True 3CTrue 3CTrue
3 4 D False 4DFalse 4DFalse
4 5 E True 5ETrue 5ETrue


참고자료