for 루프에서 Java에서 불필요한 객체 생성을 방지하는 방법

user3646858

Java를 사용하여 다음 json 파일을 만들고 있습니다.

JSONObject json = new JSONObject();
JSONArray vertex = new JSONArray();
for (int i = 0; i < num; i++) {
    JSONObject usr1 = new JSONObject();
    JSONObject usr2 = new JSONObject();

    // String na="name"+i
    usr1.put("type", "string");
    usr1.put("value", "name" + i);
    usr2.put("name", usr1);

    usr2.put("_id", Integer.toString(i));
    usr2.put("_type", "vertex");
    // v2.put(usr2);
    vertex.put(usr2);

    // email
    JSONObject usr3 = new JSONObject();
    JSONObject usr4 = new JSONObject();
    usr3.put("type", "string");
    usr3.put("value", "email" + i + "@gmail.com");
    usr4.put("email", usr3);

    usr4.put("_id", Integer.toString(i + num));
    usr4.put("_type", "vertex");
    vertex.put(usr4);
}
json.put("vertex", vertex);

num약 60,000-200,000 될 수 있습니다.

그러나 여기에서 나는 자바 객체를 반복해서 만들고 있는데, 이것은 상당히 비쌉니다. 객체 생성을 최소화하고 코드 구조를 너무 많이 변경하고 싶지 않습니다. 코드 구조를 너무 많이 변경하지 않고 어떻게이 작업을 수행 할 수 있습니까?

org.codehaus.jettison.json패키지의 JSON * 클래스를 사용 하고 있으며 파일에 json 객체를 써야합니다.

Tagir Valeev

중간 객체를 생성하지 않고 빠른 JSON 생성을 JSONWriter위해 다음을 사용할 수 있습니다.

StringWriter sw = new StringWriter();
JSONWriter writer = new JSONWriter(sw);
writer.object().key("vertex").array();
for (int i = 0; i < num; i++) {
    writer
        .object() // usr2
            .key("name")
                .object() // usr1
                    .key("type").value("string")
                    .key("value").value("name"+i)
                .endObject()
            .key("_id").value(Integer.toString(i))
            .key("_type").value("vertex")
        .endObject()
        .object() // usr4
            .key("email")
                .object() // usr3
                    .key("type").value("string")
                    .key("value").value("email"+i+"@gmail.com")
                .endObject()
            .key("_id").value(Integer.toString(i+num))
            .key("_type").value("vertex")
        .endObject();
}
writer.endArray().endObject();
String json = sw.toString();

여기서는 StringWriter중간 JSON 텍스트를 저장하는 데 사용됩니다. 또는 메모리에 전혀 보관하지 않고 파일이나 네트워크 소켓에 직접 쓸 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

R에서 불필요한 for 루프를 피하는 방법

분류에서Dev

Java의 루프에서 객체를 자주 생성하지 않는 방법은 무엇입니까?

분류에서Dev

JAXB를 사용하여 Java 객체에서 XML을 생성 할 때 JAXB에 중첩 된 루트 요소를 생성하는 방법

분류에서Dev

Djinni에서 생성 된 불필요한 함수를 제거하는 방법-ToString (Java에서) / Description (Objc에서)?

분류에서Dev

Linux에서 불필요한 파일을 정리하는 방법

분류에서Dev

for 루프에서 생성 된 객체의 값을 전달하는 방법은 무엇입니까? (AsyncTask)

분류에서Dev

다트에서 루프에서 객체 값을 변경하는 방법

분류에서Dev

R에서 유사한 객체 그룹에 동일한 기능을 적용 / 루프하는 방법

분류에서Dev

Automapper 한 객체에서 동일한 유형의 두 객체 속성으로 속성을 지정하는 방법

분류에서Dev

JSON 데이터에서 발견 된 특정 객체에 대한 루핑을 방지하는 방법

분류에서Dev

for 루프에서 객체 속성을 참조하기위한 표기법

분류에서Dev

영역 : 객체에 대한 불필요한 업데이트 방지

분류에서Dev

django 템플릿 for 루프에서 객체 속성을 얻는 방법

분류에서Dev

for 루프로 mongodb에서 객체 배열을 업데이트하는 방법

분류에서Dev

후크가있는 컴포넌트에서 불필요한 렌더링을 방지하는 방법

분류에서Dev

Scipy 희소 행렬에 불필요한 0을 삽입하지 않는 방법

분류에서Dev

Netbeans 프로파일 러 8.2에서 객체 생성을 보는 방법

분류에서Dev

Vue3에서 객체를 생성하는 루프를 만드는 방법이 있습니까?

분류에서Dev

nd 배열에서 불필요한 배열을 모두 제거하는 방법

분류에서Dev

Loadash에서 객체 배열을 필터링하는 방법

분류에서Dev

객체 AngularJs에서 목록을 필터링하는 방법

분류에서Dev

루프에서 'this'객체를 html에 추가하는 방법

분류에서Dev

모든 루프에서 객체에 대해 다른 이름을 갖는 방법

분류에서Dev

C ++지도에 객체를 추가하고지도 내에서 새로 생성 된 객체에 대한 참조를 반환하는 방법

분류에서Dev

루비에서 객체 배열을 반복하는 방법

분류에서Dev

무한 루프에 들어 가지 않고 객체 메서드 정의를 사용하는 방법

분류에서Dev

루프를 사용하지 않고 목록에서 객체의 색인을 얻는 방법이 있습니까?

분류에서Dev

angularjs에서 json 객체로 확인란을 생성하는 방법

분류에서Dev

자바 스크립트에서 객체 생성을 평가하는 방법

Related 관련 기사

  1. 1

    R에서 불필요한 for 루프를 피하는 방법

  2. 2

    Java의 루프에서 객체를 자주 생성하지 않는 방법은 무엇입니까?

  3. 3

    JAXB를 사용하여 Java 객체에서 XML을 생성 할 때 JAXB에 중첩 된 루트 요소를 생성하는 방법

  4. 4

    Djinni에서 생성 된 불필요한 함수를 제거하는 방법-ToString (Java에서) / Description (Objc에서)?

  5. 5

    Linux에서 불필요한 파일을 정리하는 방법

  6. 6

    for 루프에서 생성 된 객체의 값을 전달하는 방법은 무엇입니까? (AsyncTask)

  7. 7

    다트에서 루프에서 객체 값을 변경하는 방법

  8. 8

    R에서 유사한 객체 그룹에 동일한 기능을 적용 / 루프하는 방법

  9. 9

    Automapper 한 객체에서 동일한 유형의 두 객체 속성으로 속성을 지정하는 방법

  10. 10

    JSON 데이터에서 발견 된 특정 객체에 대한 루핑을 방지하는 방법

  11. 11

    for 루프에서 객체 속성을 참조하기위한 표기법

  12. 12

    영역 : 객체에 대한 불필요한 업데이트 방지

  13. 13

    django 템플릿 for 루프에서 객체 속성을 얻는 방법

  14. 14

    for 루프로 mongodb에서 객체 배열을 업데이트하는 방법

  15. 15

    후크가있는 컴포넌트에서 불필요한 렌더링을 방지하는 방법

  16. 16

    Scipy 희소 행렬에 불필요한 0을 삽입하지 않는 방법

  17. 17

    Netbeans 프로파일 러 8.2에서 객체 생성을 보는 방법

  18. 18

    Vue3에서 객체를 생성하는 루프를 만드는 방법이 있습니까?

  19. 19

    nd 배열에서 불필요한 배열을 모두 제거하는 방법

  20. 20

    Loadash에서 객체 배열을 필터링하는 방법

  21. 21

    객체 AngularJs에서 목록을 필터링하는 방법

  22. 22

    루프에서 'this'객체를 html에 추가하는 방법

  23. 23

    모든 루프에서 객체에 대해 다른 이름을 갖는 방법

  24. 24

    C ++지도에 객체를 추가하고지도 내에서 새로 생성 된 객체에 대한 참조를 반환하는 방법

  25. 25

    루비에서 객체 배열을 반복하는 방법

  26. 26

    무한 루프에 들어 가지 않고 객체 메서드 정의를 사용하는 방법

  27. 27

    루프를 사용하지 않고 목록에서 객체의 색인을 얻는 방법이 있습니까?

  28. 28

    angularjs에서 json 객체로 확인란을 생성하는 방법

  29. 29

    자바 스크립트에서 객체 생성을 평가하는 방법

뜨겁다태그

보관