powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / java 8 и yeild return C#
25 сообщений из 42, страница 1 из 2
java 8 и yeild return C#
    #38747987
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день ,

возник простой вопрос как в java 8 реализовать yeild return C# ?

Есть простой пример : который вернет реверсивную коллекцию ...

а как ее реализовать на java 8 ? какой там будет подход?

+ может я не увидел реализацию yeild return в java 8 ?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public class ReorderTest {
    public static void main(String[] args) {
        int N =  (int) 1e6;
        int[] a = new int[N];
        Random random = new Random();
        for (int i = 0; i < a.length; i++) {
             a[i] = random.nextInt(N);
        }
        
        long t = System.currentTimeMillis();
        for (int i = 0; i < 10; i++) {
        int[] b = getRevert2(a);    
        }
        System.out.println((System.currentTimeMillis() - t) + " ms");
        
        
        
        
    }
    
    public static int[] getRevert(int[] a) {
        int b[] = new int[a.length];
        for (int i = a.length - 1; i >= 0; i--) {
            b[a.length - i - 1] = a[i];
             // yeild return a[a.length - i - 1];
        }
        return b;
    }
}
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748054
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет в Java 8 continuation-ов. Только отдельными либами. Было в изначальных предложения "чтобы такого ещё добавить в Java 8", но отвергли после рассмотрения.
http://rsdn.ru/forum/java/5706726.1
Возможно будет в Java 9. Но, судя по последним апдейтам - маловероятно.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748078
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или это не continuation?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748113
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1возник простой вопрос как в java 8 реализовать yeild return C# ?

Это который "pipe row" из pl/sql?

Смотри Stream из JDK8, но не знаю, поможет ли. Оно заточено под map/reduce операции. Препарируй sorted(), что там.

Хотя, видимо, придётся итератор писать. Хотя там немного кода. Да и наверняка "yeild return" и есть синтаксический сахар вокруг итератора.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748935
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798543
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, а когда в java появиться аналог C# partial class ?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798567
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Коллеги, а когда в java появиться аналог C# partial class ?
Непоятвиться, ибо нафиг не нужно

MSDNThere are several situations when splitting a class definition is desirable:

When working on large projects, spreading a class over separate files enables multiple programmers to work on it at the same time.

When working with automatically generated source, code can be added to the class without having to recreate the source file. Visual Studio uses this approach when it creates Windows Forms, Web service wrapper code, and so on. You can create code that uses these classes without having to modify the file created by Visual Studio.


№1 - размазываем класс по файлам, ради какой-то сомнительный выгоды редактировать вдвоём? А где гарантии, что редактировать надо будет не одну партицию???
№2 - кодогенерация зло. Хотя здравое зерно в этом есть.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798596
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Коллеги, а когда в java появиться аналог C# partial class ?

Надеюсь, что никогда. Не надо делать столь большие классы, чтобы это требовалось. Тем более, что взамен столько оговорок про наследование, абстрактность и т.п.
А совместное редактирование кода- git и так справится.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798612
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798613
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798743
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

спасибо . Интересный подход через итераторы :)
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798764
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanAtum1,

http://en.wikipedia.org/wiki/Generator_(computer_programming)#Java ?
Уже давно думал над "заполняющими кривыми". Для инженерной графики в основном.
Реализовал LinearIterator (это как-бы обход битмапа в порядке пикселов сверху
вниз и слева направо). ShakerIterator (слева-направо змейкой). ZigZagIterator
- это для поддержки JPEG в основном. По квадратикам 8х8.

И тут подошёл к заполняющей кривой Гилберта. И сдох. Она рекурсивна.
Решение рекурсивного генератора весьма изящно. Только вот прервать его
и выдать наверх значение через return весьма сложно т.к. разрушается стек.
Хрен вам а не итераторо, господин mayton.

Вобщем так я и не реализовал GilbertIterator всё из-за своей лени и отчасти
из-за отсутствия yield в Java.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798773
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

а если через современные средства ? через ленивые вычисления ? возьмите скала или груви?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798782
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1, +1. Но моя графическая либа была писана на Java.
Портировать ее на груви я пока еще не готов. Там я залкладывал
свои хитрые оптимизации.

Хотя... сделать mixed-проект это вобщем-то мысль.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798795
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

В scala с этим всё хорошо - и yield, и аналог Partial-классов есть.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38799902
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonРешение рекурсивного генератора весьма изящно.Но ведь можно разложить в "нерекуррентную" последовательность: http://jsfiddle.net/kazatca/7Zftt/
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38799992
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanmaytonРешение рекурсивного генератора весьма изящно.Но ведь можно разложить в "нерекуррентную" последовательность: http://jsfiddle.net/kazatca/7Zftt/
У меня есть тестовая картинка с изображением печально-известной
беременной тётки которую звали Лизавета Джоконда.

Вот ее характеристики по информации imagemagic:

Код: java
1.
Mona_Lisa.jpg JPEG 2835x4289 2835x4289+0+0 8-bit sRGB 3.506MB 0.000u 0:00.000


Мне нужно обеспечить возможность обхода этой картинки по кривой Гилберта.
Мне нужно вносить изменнеия в этот исходник чтобы поддержать
resolution (2835x4289). Алгоритм Гилберта работает с 2^N квадратом тоесть
8192 на 8192.

Глубоко не вникал но очевидно этот сорс просто является частным
случаем оптимизации кривой Гилберта 5-го уровня.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38806531
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ап. Давайте сделаем тяпничной задачей.

Болванка.

GilbertPixelRecursiveIterator.groovy
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
package mayton.image.iterators

import static java.lang.Math.max
import static java.lang.Math.min

/**
 * GilbertPixelRecursiveIterator
 */
class GilbertPixelRecursiveIterator implements IPixIterator {

    def x;
    def y;

    def u=1;
    def v=0;

    def x1;
    def y1;
    def x2;
    def y2;

    public LinearPixIterator(int width,int height)
    {
        x1=min(0,width);
        y1=min(0,height);
        x2=max(0,width);
        y2=max(0,height);
        reset();
    }

    boolean isReset = false

    @Override
    int getX() {
        return x
    }

    @Override
    int getY() {
        return y
    }

    @Override
    boolean next() {
        yield false
    }

    @Override
    void reset() {
        isReset = true
    }
}
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38806544
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ть... конструктор переименовать забыл.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38808961
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем этот yield не взлетает из Java. Нужен какой-то враппер.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810050
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810066
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут другая тема. Ломбок это просто библиотека. А Груви это язык на который я планирую
потихоньку переползать. Вобщем постараюсь собрать pom.xml с двумя тест-кейсами.
Как только соберу - приаттачу. (Щас всё развалено пока).
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810314
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТут другая тема. Ломбок это просто библиотека. А Груви это язык на который я планирую
потихоньку переползать. Вобщем постараюсь собрать pom.xml с двумя тест-кейсами.
Как только соберу - приаттачу. (Щас всё развалено пока).

Переползать на груви? Собирается медленно, работает медленно, с отладкой проблемы.
Рельцы- один сплошной глюк.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810779
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока не всё. Есть мысль сделать гибридный проект. Основная часть кода на Java.
А DTO/Pojo и прочие тупые сущности "без логики" переколбасить на Грувях.
Правда есть еще вопросы которые я не решил. Например область видимости
классов GWT и Груви.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38812495
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonТут другая тема. Ломбок это просто библиотека. А Груви
Я топикстартеру..

maytonА DTO/Pojo и прочие тупые сущности
А на тебе ещё про ломбок)
http://projectlombok.org/features/GetterSetter.html
http://projectlombok.org/features/Data.html
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / java 8 и yeild return C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]